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