Open sourceActive

Spring Boot

Framework for creating stand-alone, production-grade Spring-based Java applications.

Open source page

Field note

What it does

Spring Boot helps you create stand-alone, production-grade Spring-based applications that you can run. It takes an opinionated view of the Spring platform and third-party libraries.

Capabilities

Available capabilities

Tags

Tags

Ways to use it

Ways to use it

sdk

Java / Not filed

other

Java / org.springframework.boot:spring-boot-maven-plugin

cli

Java / Not filed

cli

Java / Not filed

other

Not filed / Not filed

sdk

java / org.springframework.boot:spring-boot-devtools

sdk

java / org.springframework.boot:spring-boot-devtools

sdk

java / https://docs.spring.io/spring-boot/maven-plugin/

sdk

java / https://docs.spring.io/spring-boot/gradle-plugin/

other

java / spring-boot-antlib

other

Not filed / Not filed

other

Not filed / Not filed

Product features

Product features

Ant Support

Build with Apache Ant+Ivy using the spring-boot-antlib module.

Auto-configuration

Automatically configures Spring applications.

Auto-configuration packages

Packages auto-configured features scan by default for entities and Spring Data repositories.

@AutoConfigurationPackage annotation

Configures additional auto-configuration packages beyond the default.

@Autowired Annotation

Marks the constructor Spring should use when a bean has multiple constructors.

Build systems

Guidance on using Spring Boot with build systems.

@ComponentScan

Enables component scanning on the package where the application is located.

Condition Evaluation Logging

Logging changes in condition evaluation is supported.

Constructor Injection

Recommended way to wire up dependencies, allowing fields to be marked final.

Debug conditions report

Starting with --debug logs a conditions report showing applied auto-configuration.

Avoid the default package

Use of the default package is discouraged as it reads every class from every jar.

Developing Your First Spring Boot Application

Developing with Spring Boot

DevTools quick restart

The spring-boot-devtools module supports quick application restarts.

@EnableAutoConfiguration annotation

Opt-in annotation that enables auto-configuration on a @Configuration class.

@EnableAutoConfiguration

Enables Spring Boot's auto-configuration mechanism.

Exclude auto-configuration classes

Use exclude or excludeName attributes, or the spring.autoconfigure.exclude property.

Gradle bootRun task

gradle bootRun runs the application in exploded form.

Gradle Plugin

Plugin for using Spring Boot with Gradle.

@Import Annotation

The @Import annotation imports additional configuration classes.

@ImportResource

@ImportResource loads XML configuration files from a @Configuration class.

Java-based Configuration

Spring Boot favors Java-based configuration over XML sources.

java -jar execution

Applications can be started by using java -jar.

Maven Plugin

Plugin for using Spring Boot with Maven.

Maven run goal

mvn spring-boot:run compiles and runs the application in exploded form.

No code generation

Absolutely no code generation when not targeting native image.

No XML configuration

No requirement for XML configuration.

Production Packaging

Package and optimize Spring Boot applications for production deployment.

Restart Classloader

Restart uses two classloaders; the restart classloader can be customized.

Root package layout

Recommended to locate the main application class in a root package above other classes.

Run from an IDE

Import the project and run it as a Java application without special plugins.

Run as packaged application

Run the executable jar with java -jar, optionally with remote debugging.

Running applications

Covers how to run your Spring Boot applications.

@SpringBootApplication annotation

Single annotation that includes @EnableAutoConfiguration; only one should be added.

spring-boot-devtools Module

Optional module adding development-time features such as restart and LiveReload.

Spring Framework Documentation

@SpringBootApplication annotation

Placed on the main class, it implicitly defines a base search package and imports @EnableAutoConfiguration and @ComponentScan.

@SpringBootConfiguration

Enables registration of extra beans or import of additional configuration classes.

Stand-alone Java applications

Create Java applications started with java -jar.

Starters

Convenient dependency descriptors with managed transitive dependencies.

Trigger File

Restart can be controlled by a trigger file.

War deployment

Applications can be deployed as traditional war files.

WAR deployments

Traditional war deployments are supported.