This section provides a brief overview of Spring Boot reference documentation. It serves as a map for the rest of the document.
The latest copy of this document is available at docs.spring.io/spring-boot/docs/current/reference/.
1. First Steps
If you are getting started with Spring Boot or 'Spring' in general, start with the following topics:
- 
From scratch: Overview | Requirements | Installation
 
2. Upgrading From an Earlier Version
You should always ensure that you are running a supported version of Spring Boot.
Depending on the version that you are upgrading to, you can find some additional tips here:
- 
From 1.x: Upgrading from 1.x
 - 
To a new feature release: Upgrading to New Feature Release
 - 
Spring Boot CLI: Upgrading the Spring Boot CLI
 
3. Developing with Spring Boot
Ready to actually start using Spring Boot? We have you covered:
- 
Best practices: Code Structure | @Configuration | @EnableAutoConfiguration | Beans and Dependency Injection
 - 
Packaging your app: Production jars
 - 
Spring Boot CLI: Using the CLI
 
4. Learning About Spring Boot Features
Need more details about Spring Boot’s core features? The following content is for you:
- 
Spring Application: SpringApplication
 - 
External Configuration: External Configuration
 - 
Profiles: Profiles
 - 
Logging: Logging
 
5. Web
If you develop Spring Boot web applications, take a look at the following content:
- 
Servlet Web Applications: Spring MVC, Jersey, Embedded Servlet Containers
 - 
Reactive Web Applications: Spring Webflux, Embedded Servlet Containers
 - 
Graceful Shutdown: Graceful Shutdown
 - 
Spring Security: Default Security Configuration, Auto-configuration for OAuth2, SAML
 - 
Spring Session: Auto-configuration for Spring Session
 - 
Spring HATEOAS: Auto-configuration for Spring HATEOAS
 
7. Messaging
If your application uses any messaging protocol, see one or more of the following sections:
8. IO
If your application needs IO capabilities, see one or more of the following sections:
- 
Caching: Caching support EhCache, Hazelcast, Infinispan and more
 - 
Quartz: Quartz Scheduling
 - 
Mail: Sending Email
 - 
Validation: JSR-303 Validation
 - 
REST Clients: Calling REST Services with RestTemplate and WebClient
 - 
Webservices: Auto-configuration for Spring Web Services
 
9. Container Images
Spring Boot provides first-class support for building efficient container images. You can read more about it here:
- 
Efficient Container Images: Tips to optimize container images such as Docker images
 - 
Dockerfiles: Building container images using dockerfiles
 - 
Cloud Native Buildpacks: Support for Cloud Native Buildpacks with Maven and Gradle
 
10. Advanced Topics
Finally, we have a few topics for more advanced users:
- 
Spring Boot Applications Deployment: Cloud Deployment | OS Service
 - 
Appendix: Application Properties | Configuration Metadata | Auto-configuration Classes | Test Auto-configuration Annotations | Executable Jars | Dependency Versions