(window.webpackJsonp=window.webpackJsonp||[]).push([[49],{475:function(t,o,n){"use strict";n.r(o);var e=n(56),i=Object(e.a)({},(function(){var t=this,o=t.$createElement,n=t._self._c||o;return n("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[n("h1",{attrs:{id:"documentation-overview"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#documentation-overview"}},[t._v("#")]),t._v(" Documentation Overview")]),t._v(" "),n("p",[t._v("This section provides a brief overview of Spring Boot reference documentation.\nIt serves as a map for the rest of the document.")]),t._v(" "),n("p",[t._v("The latest copy of this document is available at "),n("a",{attrs:{href:"https://docs.spring.io/spring-boot/docs/current/reference/",target:"_blank",rel:"noopener noreferrer"}},[t._v("docs.spring.io/spring-boot/docs/current/reference/"),n("OutboundLink")],1),t._v(".")]),t._v(" "),n("h2",{attrs:{id:"_1-first-steps"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#_1-first-steps"}},[t._v("#")]),t._v(" 1. First Steps")]),t._v(" "),n("p",[t._v("If you are getting started with Spring Boot or 'Spring' in general, start with "),n("RouterLink",{attrs:{to:"/en/spring-boot/getting-started.html#getting-started"}},[t._v("the following topics")]),t._v(":")],1),t._v(" "),n("ul",[n("li",[n("p",[n("strong",[t._v("From scratch:")]),t._v(" "),n("RouterLink",{attrs:{to:"/en/spring-boot/getting-started.html#getting-started.introducing-spring-boot"}},[t._v("Overview")]),t._v(" | "),n("RouterLink",{attrs:{to:"/en/spring-boot/getting-started.html#getting-started.system-requirements"}},[t._v("Requirements")]),t._v(" | "),n("RouterLink",{attrs:{to:"/en/spring-boot/getting-started.html#getting-started.installing"}},[t._v("Installation")])],1)]),t._v(" "),n("li",[n("p",[n("strong",[t._v("Tutorial:")]),t._v(" "),n("RouterLink",{attrs:{to:"/en/spring-boot/getting-started.html#getting-started.first-application"}},[t._v("Part 1")]),t._v(" | "),n("RouterLink",{attrs:{to:"/en/spring-boot/getting-started.html#getting-started.first-application.code"}},[t._v("Part 2")])],1)]),t._v(" "),n("li",[n("p",[n("strong",[t._v("Running your example:")]),t._v(" "),n("RouterLink",{attrs:{to:"/en/spring-boot/getting-started.html#getting-started.first-application.run"}},[t._v("Part 1")]),t._v(" | "),n("RouterLink",{attrs:{to:"/en/spring-boot/getting-started.html#getting-started.first-application.executable-jar"}},[t._v("Part 2")])],1)])]),t._v(" "),n("h2",{attrs:{id:"_2-upgrading-from-an-earlier-version"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#_2-upgrading-from-an-earlier-version"}},[t._v("#")]),t._v(" 2. Upgrading From an Earlier Version")]),t._v(" "),n("p",[t._v("You should always ensure that you are running a "),n("a",{attrs:{href:"https://github.com/spring-projects/spring-boot/wiki/Supported-Versions",target:"_blank",rel:"noopener noreferrer"}},[t._v("supported version"),n("OutboundLink")],1),t._v(" of Spring Boot.")]),t._v(" "),n("p",[t._v("Depending on the version that you are upgrading to, you can find some additional tips here:")]),t._v(" "),n("ul",[n("li",[n("p",[n("strong",[t._v("From 1.x:")]),t._v(" "),n("RouterLink",{attrs:{to:"/en/spring-boot/actuator.html#upgrading.from-1x"}},[t._v("Upgrading from 1.x")])],1)]),t._v(" "),n("li",[n("p",[n("strong",[t._v("To a new feature release:")]),t._v(" "),n("RouterLink",{attrs:{to:"/en/spring-boot/upgrading.html#upgrading.to-feature"}},[t._v("Upgrading to New Feature Release")])],1)]),t._v(" "),n("li",[n("p",[n("strong",[t._v("Spring Boot CLI:")]),t._v(" "),n("RouterLink",{attrs:{to:"/en/spring-boot/upgrading.html#upgrading.cli"}},[t._v("Upgrading the Spring Boot CLI")])],1)])]),t._v(" "),n("h2",{attrs:{id:"_3-developing-with-spring-boot"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#_3-developing-with-spring-boot"}},[t._v("#")]),t._v(" 3. Developing with Spring Boot")]),t._v(" "),n("p",[t._v("Ready to actually start using Spring Boot? "),n("RouterLink",{attrs:{to:"/en/spring-boot/using.html#using"}},[t._v("We have you covered")]),t._v(":")],1),t._v(" "),n("ul",[n("li",[n("p",[n("strong",[t._v("Build systems:")]),t._v(" "),n("RouterLink",{attrs:{to:"/en/spring-boot/using.html#using.build-systems.maven"}},[t._v("Maven")]),t._v(" | "),n("RouterLink",{attrs:{to:"/en/spring-boot/using.html#using.build-systems.gradle"}},[t._v("Gradle")]),t._v(" | "),n("RouterLink",{attrs:{to:"/en/spring-boot/using.html#using.build-systems.ant"}},[t._v("Ant")]),t._v(" | "),n("RouterLink",{attrs:{to:"/en/spring-boot/using.html#using.build-systems.starters"}},[t._v("Starters")])],1)]),t._v(" "),n("li",[n("p",[n("strong",[t._v("Best practices:")]),t._v(" "),n("RouterLink",{attrs:{to:"/en/spring-boot/using.html#using.structuring-your-code"}},[t._v("Code Structure")]),t._v(" | "),n("RouterLink",{attrs:{to:"/en/spring-boot/using.html#using.configuration-classes"}},[t._v("@Configuration")]),t._v(" | "),n("RouterLink",{attrs:{to:"/en/spring-boot/using.html#using.auto-configuration"}},[t._v("@EnableAutoConfiguration")]),t._v(" | "),n("RouterLink",{attrs:{to:"/en/spring-boot/using.html#using.spring-beans-and-dependency-injection"}},[t._v("Beans and Dependency Injection")])],1)]),t._v(" "),n("li",[n("p",[n("strong",[t._v("Running your code:")]),t._v(" "),n("RouterLink",{attrs:{to:"/en/spring-boot/using.html#using.running-your-application.from-an-ide"}},[t._v("IDE")]),t._v(" | "),n("RouterLink",{attrs:{to:"/en/spring-boot/using.html#using.running-your-application.as-a-packaged-application"}},[t._v("Packaged")]),t._v(" | "),n("RouterLink",{attrs:{to:"/en/spring-boot/using.html#using.running-your-application.with-the-maven-plugin"}},[t._v("Maven")]),t._v(" | "),n("RouterLink",{attrs:{to:"/en/spring-boot/using.html#using.running-your-application.with-the-gradle-plugin"}},[t._v("Gradle")])],1)]),t._v(" "),n("li",[n("p",[n("strong",[t._v("Packaging your app:")]),t._v(" "),n("RouterLink",{attrs:{to:"/en/spring-boot/using.html#using.packaging-for-production"}},[t._v("Production jars")])],1)]),t._v(" "),n("li",[n("p",[n("strong",[t._v("Spring Boot CLI:")]),t._v(" "),n("RouterLink",{attrs:{to:"/en/spring-boot/cli.html#cli"}},[t._v("Using the CLI")])],1)])]),t._v(" "),n("h2",{attrs:{id:"_4-learning-about-spring-boot-features"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#_4-learning-about-spring-boot-features"}},[t._v("#")]),t._v(" 4. Learning About Spring Boot Features")]),t._v(" "),n("p",[t._v("Need more details about Spring Boot’s core features?"),n("RouterLink",{attrs:{to:"/en/spring-boot/features.html#features"}},[t._v("The following content is for you")]),t._v(":")],1),t._v(" "),n("ul",[n("li",[n("p",[n("strong",[t._v("Spring Application:")]),t._v(" "),n("RouterLink",{attrs:{to:"/en/spring-boot/features.html#features.spring-application"}},[t._v("SpringApplication")])],1)]),t._v(" "),n("li",[n("p",[n("strong",[t._v("External Configuration:")]),t._v(" "),n("RouterLink",{attrs:{to:"/en/spring-boot/features.html#features.external-config"}},[t._v("External Configuration")])],1)]),t._v(" "),n("li",[n("p",[n("strong",[t._v("Profiles:")]),t._v(" "),n("RouterLink",{attrs:{to:"/en/spring-boot/features.html#features.profiles"}},[t._v("Profiles")])],1)]),t._v(" "),n("li",[n("p",[n("strong",[t._v("Logging:")]),t._v(" "),n("RouterLink",{attrs:{to:"/en/spring-boot/features.html#features.logging"}},[t._v("Logging")])],1)])]),t._v(" "),n("h2",{attrs:{id:"_5-web"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#_5-web"}},[t._v("#")]),t._v(" 5. Web")]),t._v(" "),n("p",[t._v("If you develop Spring Boot web applications, take a look at the following content:")]),t._v(" "),n("ul",[n("li",[n("p",[n("strong",[t._v("Servlet Web Applications:")]),t._v(" "),n("RouterLink",{attrs:{to:"/en/spring-boot/web.html#web.servlet"}},[t._v("Spring MVC, Jersey, Embedded Servlet Containers")])],1)]),t._v(" "),n("li",[n("p",[n("strong",[t._v("Reactive Web Applications:")]),t._v(" "),n("RouterLink",{attrs:{to:"/en/spring-boot/web.html#web.reactive"}},[t._v("Spring Webflux, Embedded Servlet Containers")])],1)]),t._v(" "),n("li",[n("p",[n("strong",[t._v("Graceful Shutdown:")]),t._v(" "),n("RouterLink",{attrs:{to:"/en/spring-boot/web.html#web.graceful-shutdown"}},[t._v("Graceful Shutdown")])],1)]),t._v(" "),n("li",[n("p",[n("strong",[t._v("Spring Security:")]),t._v(" "),n("RouterLink",{attrs:{to:"/en/spring-boot/web.html#web.security"}},[t._v("Default Security Configuration, Auto-configuration for OAuth2, SAML")])],1)]),t._v(" "),n("li",[n("p",[n("strong",[t._v("Spring Session:")]),t._v(" "),n("RouterLink",{attrs:{to:"/en/spring-boot/web.html#web.spring-session"}},[t._v("Auto-configuration for Spring Session")])],1)]),t._v(" "),n("li",[n("p",[n("strong",[t._v("Spring HATEOAS:")]),t._v(" "),n("RouterLink",{attrs:{to:"/en/spring-boot/web.html#web.spring-hateoas"}},[t._v("Auto-configuration for Spring HATEOAS")])],1)])]),t._v(" "),n("h2",{attrs:{id:"_6-data"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#_6-data"}},[t._v("#")]),t._v(" 6. Data")]),t._v(" "),n("p",[t._v("If your application deals with a datastore, you can see how to configure that here:")]),t._v(" "),n("ul",[n("li",[n("p",[n("strong",[t._v("SQL:")]),t._v(" "),n("RouterLink",{attrs:{to:"/en/spring-boot/data.html#data.sql"}},[t._v("Configuring a SQL Datastore, Embedded Database support, Connection pools, and more.")])],1)]),t._v(" "),n("li",[n("p",[n("strong",[t._v("NOSQL:")]),t._v(" "),n("RouterLink",{attrs:{to:"/en/spring-boot/data.html#data.nosql"}},[t._v("Auto-configuration for NOSQL stores such as Redis, MongoDB, Neo4j, and others.")])],1)])]),t._v(" "),n("h2",{attrs:{id:"_7-messaging"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#_7-messaging"}},[t._v("#")]),t._v(" 7. Messaging")]),t._v(" "),n("p",[t._v("If your application uses any messaging protocol, see one or more of the following sections:")]),t._v(" "),n("ul",[n("li",[n("p",[n("strong",[t._v("JMS:")]),t._v(" "),n("RouterLink",{attrs:{to:"/en/spring-boot/messaging.html#messaging.jms"}},[t._v("Auto-configuration for ActiveMQ and Artemis, Sending and Receiving messages through JMS")])],1)]),t._v(" "),n("li",[n("p",[n("strong",[t._v("AMQP:")]),t._v(" "),n("RouterLink",{attrs:{to:"/en/spring-boot/messaging.html#messaging.amqp"}},[t._v("Auto-configuration for RabbitMQ")])],1)]),t._v(" "),n("li",[n("p",[n("strong",[t._v("Kafka:")]),t._v(" "),n("RouterLink",{attrs:{to:"/en/spring-boot/messaging.html#messaging.kafka"}},[t._v("Auto-configuration for Spring Kafka")])],1)]),t._v(" "),n("li",[n("p",[n("strong",[t._v("RSocket:")]),t._v(" "),n("RouterLink",{attrs:{to:"/en/spring-boot/messaging.html#messaging.rsocket"}},[t._v("Auto-configuration for Spring Framework’s RSocket Support")])],1)]),t._v(" "),n("li",[n("p",[n("strong",[t._v("Spring Integration:")]),t._v(" "),n("RouterLink",{attrs:{to:"/en/spring-boot/messaging.html#messaging.spring-integration"}},[t._v("Auto-configuration for Spring Integration")])],1)])]),t._v(" "),n("h2",{attrs:{id:"_8-io"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#_8-io"}},[t._v("#")]),t._v(" 8. IO")]),t._v(" "),n("p",[t._v("If your application needs IO capabilities, see one or more of the following sections:")]),t._v(" "),n("ul",[n("li",[n("p",[n("strong",[t._v("Caching:")]),t._v(" "),n("RouterLink",{attrs:{to:"/en/spring-boot/io.html#io.caching"}},[t._v("Caching support EhCache, Hazelcast, Infinispan and more")])],1)]),t._v(" "),n("li",[n("p",[n("strong",[t._v("Quartz:")]),t._v(" "),n("RouterLink",{attrs:{to:"/en/spring-boot/io.html#io.quartz"}},[t._v("Quartz Scheduling")])],1)]),t._v(" "),n("li",[n("p",[n("strong",[t._v("Mail:")]),t._v(" "),n("RouterLink",{attrs:{to:"/en/spring-boot/io.html#io.email"}},[t._v("Sending Email")])],1)]),t._v(" "),n("li",[n("p",[n("strong",[t._v("Validation:")]),t._v(" "),n("RouterLink",{attrs:{to:"/en/spring-boot/io.html#io.validation"}},[t._v("JSR-303 Validation")])],1)]),t._v(" "),n("li",[n("p",[n("strong",[t._v("REST Clients:")]),t._v(" "),n("RouterLink",{attrs:{to:"/en/spring-boot/io.html#io.rest-client"}},[t._v("Calling REST Services with RestTemplate and WebClient")])],1)]),t._v(" "),n("li",[n("p",[n("strong",[t._v("Webservices:")]),t._v(" "),n("RouterLink",{attrs:{to:"/en/spring-boot/io.html#io.webservices"}},[t._v("Auto-configuration for Spring Web Services")])],1)]),t._v(" "),n("li",[n("p",[n("strong",[t._v("JTA:")]),t._v(" "),n("RouterLink",{attrs:{to:"/en/spring-boot/io.html#io.jta"}},[t._v("Distributed Transactions with JTA")])],1)])]),t._v(" "),n("h2",{attrs:{id:"_9-container-images"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#_9-container-images"}},[t._v("#")]),t._v(" 9. Container Images")]),t._v(" "),n("p",[t._v("Spring Boot provides first-class support for building efficient container images. You can read more about it here:")]),t._v(" "),n("ul",[n("li",[n("p",[n("strong",[t._v("Efficient Container Images:")]),t._v(" "),n("RouterLink",{attrs:{to:"/en/spring-boot/container-images.html#container-images.efficient-images"}},[t._v("Tips to optimize container images such as Docker images")])],1)]),t._v(" "),n("li",[n("p",[n("strong",[t._v("Dockerfiles:")]),t._v(" "),n("RouterLink",{attrs:{to:"/en/spring-boot/container-images.html#container-images.dockerfiles"}},[t._v("Building container images using dockerfiles")])],1)]),t._v(" "),n("li",[n("p",[n("strong",[t._v("Cloud Native Buildpacks:")]),t._v(" "),n("RouterLink",{attrs:{to:"/en/spring-boot/container-images.html#container-images.buildpacks"}},[t._v("Support for Cloud Native Buildpacks with Maven and Gradle")])],1)])]),t._v(" "),n("h2",{attrs:{id:"_10-advanced-topics"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#_10-advanced-topics"}},[t._v("#")]),t._v(" 10. Advanced Topics")]),t._v(" "),n("p",[t._v("Finally, we have a few topics for more advanced users:")]),t._v(" "),n("ul",[n("li",[n("p",[n("strong",[t._v("Spring Boot Applications Deployment:")]),t._v(" "),n("RouterLink",{attrs:{to:"/en/spring-boot/deployment.html#deployment.cloud"}},[t._v("Cloud Deployment")]),t._v(" | "),n("RouterLink",{attrs:{to:"/en/spring-boot/deployment.html#deployment.installing.nix-services"}},[t._v("OS Service")])],1)]),t._v(" "),n("li",[n("p",[n("strong",[t._v("Build tool plugins:")]),t._v(" "),n("RouterLink",{attrs:{to:"/en/spring-boot/build-tool-plugins.html#build-tool-plugins.maven"}},[t._v("Maven")]),t._v(" | "),n("RouterLink",{attrs:{to:"/en/spring-boot/build-tool-plugins.html#build-tool-plugins.gradle"}},[t._v("Gradle")])],1)]),t._v(" "),n("li",[n("p",[n("strong",[t._v("Appendix:")]),t._v(" "),n("RouterLink",{attrs:{to:"/en/spring-boot/application-properties.html#appendix.application-properties"}},[t._v("Application Properties")]),t._v(" | "),n("RouterLink",{attrs:{to:"/en/spring-boot/configuration-metadata.html#appendix.configuration-metadata"}},[t._v("Configuration Metadata")]),t._v(" | "),n("RouterLink",{attrs:{to:"/en/spring-boot/auto-configuration-classes.html#appendix.auto-configuration-classes"}},[t._v("Auto-configuration Classes")]),t._v(" | "),n("RouterLink",{attrs:{to:"/en/spring-boot/test-auto-configuration.html#appendix.test-auto-configuration"}},[t._v("Test Auto-configuration Annotations")]),t._v(" | "),n("RouterLink",{attrs:{to:"/en/spring-boot/executable-jar.html#appendix.executable-jar"}},[t._v("Executable Jars")]),t._v(" | "),n("RouterLink",{attrs:{to:"/en/spring-boot/dependency-versions.html#appendix.dependency-versions"}},[t._v("Dependency Versions")])],1)])])])}),[],!1,null,null,null);o.default=i.exports}}]);