How spring-projects/spring-boot works
Spring Boot is a framework for creating and running Spring-powered Java applications, with build-plugin and CLI support. The documented user journey is to create an application, then run it as an executable JAR or deploy it as a WAR; the CLI also runs Spring scripts. The tree shows additional runtime and image-building subsystems. Source excerpts are limited, so links between unsampled subsystems are omitted rather than inferred.
Main entry points: boot Spring Boot framework · ApplicationConversionService.java Application conversion · DockerApi.java Docker platform · BootBuildImage.java Image building
Components 13
Application runtime
- Spring Boot framework
core/spring-boot/src/main/java/org/springframework/boot - Application conversion
core/spring-boot/src/main/java/org/springframework/boot/convert/ApplicationConversionService.java
Runtime capabilities
- Auto-configuration
core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure - Web support
core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/format/WebConversionService.java - Data integrations
module/spring-boot-jpa/src/main/java/org/springframework/boot/jpa/EntityManagerFactoryBuilder.java
Build integrations
- Spring CLI
cli/spring-boot-cli/src/main/java/org/springframework/boot/cli/command/init/InitializrService.java - Gradle plugin
build-plugin/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/SpringBootPlugin.java - Maven plugin
build-plugin/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/RepackageMojo.java - Executable archives
build-plugin/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/tasks/bundling/BootJar.java
Container images
- Image building
build-plugin/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/tasks/bundling/BootBuildImage.java - Docker platform
buildpack/spring-boot-buildpack-platform/src/main/java/org/springframework/boot/buildpack/platform/docker/DockerApi.java
Other components
- Application developer
- Docker engine
Connections 7
- Application developer → Spring Boot framework: creates app
- Application developer → Spring CLI: runs scripts
- Spring Boot framework → Application conversion: configures conversion
core/spring-boot/src/main/java/org/springframework/boot/convert/ApplicationConversionService.java - Application conversion → Auto-configuration: supports configuration
- Spring Boot framework → Executable archives: runs as JAR or WAR
- Image building → Docker platform: uses Docker API
- Docker platform → Docker engine: communicates with