|
| 1 | +:navtitle: Documentation |
| 2 | +:navicon: book |
| 3 | +[[documentation]] |
| 4 | += Documentation Overview |
| 5 | + |
| 6 | +This section provides a brief overview of Spring Boot reference documentation. |
| 7 | +It serves as a map for the rest of the document. |
| 8 | + |
| 9 | + |
| 10 | + |
| 11 | +[[documentation.first-steps]] |
| 12 | +== First Steps |
| 13 | + |
| 14 | +If you are getting started with Spring Boot or 'Spring' in general, start with the following topics: |
| 15 | + |
| 16 | +* *From scratch:* xref:index.adoc[Overview] | xref:system-requirements.adoc[Requirements] | xref:installing.adoc[Installation] |
| 17 | +* *Tutorial:* xref:tutorial:first-application/index.adoc[Part 1] | xref:tutorial:first-application/index.adoc#getting-started.first-application.code[Part 2] |
| 18 | +* *Running your example:* xref:tutorial:first-application/index.adoc#getting-started.first-application.run[Part 1] | xref:tutorial:first-application/index.adoc#getting-started.first-application.executable-jar[Part 2] |
| 19 | + |
| 20 | + |
| 21 | + |
| 22 | +[[documentation.upgrading]] |
| 23 | +== Upgrading From an Earlier Version |
| 24 | + |
| 25 | +You should always ensure that you are running a {url-github-wiki}/Supported-Versions[supported version] of Spring Boot. |
| 26 | + |
| 27 | +Depending on the version that you are upgrading to, you can find some additional tips here: |
| 28 | + |
| 29 | +* *From 1.x:* xref:upgrading.adoc#upgrading.from-1x[Upgrading from 1.x] |
| 30 | +* *To a new feature release:* xref:upgrading.adoc#upgrading.to-feature[Upgrading to New Feature Release] |
| 31 | +* *Spring Boot CLI:* xref:upgrading.adoc#upgrading.cli[Upgrading the Spring Boot CLI] |
| 32 | + |
| 33 | + |
| 34 | + |
| 35 | +[[documentation.using]] |
| 36 | +== Developing With Spring Boot |
| 37 | + |
| 38 | +Ready to actually start using Spring Boot? xref:reference:using/index.adoc[We have you covered]: |
| 39 | + |
| 40 | +* *Build systems:* xref:reference:using/build-systems.adoc#using.build-systems.maven[Maven] | xref:reference:using/build-systems.adoc#using.build-systems.gradle[Gradle] | xref:reference:using/build-systems.adoc#using.build-systems.ant[Ant] | xref:reference:using/build-systems.adoc#using.build-systems.starters[Starters] |
| 41 | +* *Best practices:* xref:reference:using/structuring-your-code.adoc[Code Structure] | xref:reference:using/configuration-classes.adoc[@Configuration] | xref:reference:using/auto-configuration.adoc[@EnableAutoConfiguration] | xref:reference:using/spring-beans-and-dependency-injection.adoc[Beans and Dependency Injection] |
| 42 | +* *Running your code:* xref:reference:using/running-your-application.adoc#using.running-your-application.from-an-ide[IDE] | xref:reference:using/running-your-application.adoc#using.running-your-application.as-a-packaged-application[Packaged] | xref:reference:using/running-your-application.adoc#using.running-your-application.with-the-maven-plugin[Maven] | xref:reference:using/running-your-application.adoc#using.running-your-application.with-the-gradle-plugin[Gradle] |
| 43 | +* *Packaging your app:* xref:reference:using/packaging-for-production.adoc[Production jars] |
| 44 | +* *Spring Boot CLI:* xref:cli:index.adoc[Using the CLI] |
| 45 | + |
| 46 | + |
| 47 | + |
| 48 | +[[documentation.features]] |
| 49 | +== Learning About Spring Boot Features |
| 50 | + |
| 51 | +Need more details about Spring Boot's core features? |
| 52 | +xref:reference:features/index.adoc[The following content is for you]: |
| 53 | + |
| 54 | +* *Spring Application:* xref:reference:features/spring-application.adoc[SpringApplication] |
| 55 | +* *External Configuration:* xref:reference:features/external-config.adoc[External Configuration] |
| 56 | +* *Profiles:* xref:reference:features/profiles.adoc[Profiles] |
| 57 | +* *Logging:* xref:reference:features/logging.adoc[Logging] |
| 58 | + |
| 59 | + |
| 60 | + |
| 61 | +[[documentation.web]] |
| 62 | +== Web |
| 63 | + |
| 64 | +If you develop Spring Boot web applications, take a look at the following content: |
| 65 | + |
| 66 | +* *Servlet Web Applications:* xref:reference:web/servlet.adoc[Spring MVC, Jersey, Embedded Servlet Containers] |
| 67 | +* *Reactive Web Applications:* xref:reference:web/reactive.adoc[Spring Webflux, Embedded Servlet Containers] |
| 68 | +* *Graceful Shutdown:* xref:reference:web/graceful-shutdown.adoc[Graceful Shutdown] |
| 69 | +* *Spring Security:* xref:reference:web/spring-security.adoc[Default Security Configuration, Auto-configuration for OAuth2, SAML] |
| 70 | +* *Spring Session:* xref:reference:web/spring-session.adoc[Auto-configuration for Spring Session] |
| 71 | +* *Spring HATEOAS:* xref:reference:web/spring-hateoas.adoc[Auto-configuration for Spring HATEOAS] |
| 72 | + |
| 73 | + |
| 74 | + |
| 75 | +[[documentation.data]] |
| 76 | +== Data |
| 77 | + |
| 78 | +If your application deals with a datastore, you can see how to configure that here: |
| 79 | + |
| 80 | +* *SQL:* xref:reference:data/sql.adoc[Configuring a SQL Datastore, Embedded Database support, Connection pools, and more.] |
| 81 | +* *NOSQL:* xref:reference:data/nosql.adoc[Auto-configuration for NOSQL stores such as Redis, MongoDB, Neo4j, and others.] |
| 82 | + |
| 83 | + |
| 84 | + |
| 85 | +[[documentation.messaging]] |
| 86 | +== Messaging |
| 87 | + |
| 88 | +If your application uses any messaging protocol, see one or more of the following sections: |
| 89 | + |
| 90 | +* *JMS:* xref:reference:messaging/jms.adoc[Auto-configuration for ActiveMQ and Artemis, Sending and Receiving messages through JMS] |
| 91 | +* *AMQP:* xref:reference:messaging/amqp.adoc[Auto-configuration for RabbitMQ] |
| 92 | +* *Kafka:* xref:reference:messaging/kafka.adoc[Auto-configuration for Spring Kafka] |
| 93 | +* *Pulsar:* xref:reference:messaging/pulsar.adoc[Auto-configuration for Spring for Apache Pulsar] |
| 94 | +* *RSocket:* xref:reference:messaging/rsocket.adoc[Auto-configuration for Spring Framework's RSocket Support] |
| 95 | +* *Spring Integration:* xref:reference:messaging/spring-integration.adoc[Auto-configuration for Spring Integration] |
| 96 | + |
| 97 | + |
| 98 | + |
| 99 | +[[documentation.io]] |
| 100 | +== IO |
| 101 | + |
| 102 | +If your application needs IO capabilities, see one or more of the following sections: |
| 103 | + |
| 104 | +* *Caching:* xref:reference:io/caching.adoc[Caching support with EhCache, Hazelcast, Infinispan, and more] |
| 105 | +* *Quartz:* xref:reference:io/quartz.adoc[Quartz Scheduling] |
| 106 | +* *Mail:* xref:reference:io/email.adoc[Sending Email] |
| 107 | +* *Validation:* xref:reference:io/validation.adoc[JSR-303 Validation] |
| 108 | +* *REST Clients:* xref:reference:io/rest-client.adoc[Calling REST Services with RestTemplate and WebClient] |
| 109 | +* *Webservices:* xref:reference:io/webservices.adoc[Auto-configuration for Spring Web Services] |
| 110 | +* *JTA:* xref:reference:io/jta.adoc[Distributed Transactions with JTA] |
| 111 | + |
| 112 | + |
| 113 | + |
| 114 | +[[documentation.container-images]] |
| 115 | +== Container Images |
| 116 | + |
| 117 | +Spring Boot provides first-class support for building efficient container images. You can read more about it here: |
| 118 | + |
| 119 | +* *Efficient Container Images:* xref:reference:container-images/efficient-images.adoc[Tips to optimize container images such as Docker images] |
| 120 | +* *Dockerfiles:* xref:reference:container-images/dockerfiles.adoc[Building container images using dockerfiles] |
| 121 | +* *Cloud Native Buildpacks:* xref:reference:container-images/cloud-native-buildpacks.adoc[Support for Cloud Native Buildpacks with Maven and Gradle] |
| 122 | + |
| 123 | + |
| 124 | + |
| 125 | +[[documentation.actuator]] |
| 126 | +== Moving to Production |
| 127 | + |
| 128 | +When you are ready to push your Spring Boot application to production, we have xref:how-to:actuator.adoc[some tricks] that you might like: |
| 129 | + |
| 130 | +* *Management endpoints:* xref:reference:actuator/endpoints.adoc[Overview] |
| 131 | +* *Connection options:* xref:reference:actuator/monitoring.adoc[HTTP] | xref:reference:actuator/jmx.adoc[JMX] |
| 132 | +* *Monitoring:* xref:reference:actuator/metrics.adoc[Metrics] | xref:reference:actuator/auditing.adoc[Auditing] | xref:reference:actuator/http-exchanges.adoc[HTTP Exchanges] | xref:reference:actuator/process-monitoring.adoc[Process] |
| 133 | + |
| 134 | + |
| 135 | + |
| 136 | +[[documentation.native-images]] |
| 137 | +== GraalVM Native Images |
| 138 | + |
| 139 | +Spring Boot applications can be converted into native executables using GraalVM. |
| 140 | +You can read more about our native image support here: |
| 141 | + |
| 142 | +* *GraalVM Native Images:* xref:reference:native-image/introducing-graalvm-native-images.adoc[Introduction] | xref:reference:native-image/introducing-graalvm-native-images.adoc#native-image.introducing-graalvm-native-images.key-differences-with-jvm-deployments[Key Differences with the JVM] | xref:reference:native-image/introducing-graalvm-native-images.adoc#native-image.introducing-graalvm-native-images.understanding-aot-processing[Ahead-of-Time Processing] |
| 143 | +* *Getting Started:* xref:reference:native-image/developing-your-first-application.adoc#native-image.developing-your-first-application.buildpacks[Buildpacks] | xref:reference:native-image/developing-your-first-application.adoc#native-image.developing-your-first-application.native-build-tools[Native Build Tools] |
| 144 | +* *Testing:* xref:reference:native-image/testing-native-applications.adoc#native-image.testing.with-the-jvm[JVM] | xref:reference:native-image/testing-native-applications.adoc#native-image.testing.with-native-build-tools[Native Build Tools] |
| 145 | +* *Advanced Topics:* xref:reference:native-image/advanced-topics.adoc#native-image.advanced.nested-configuration-properties[Nested Configuration Properties] | xref:reference:native-image/advanced-topics.adoc#native-image.advanced.converting-executable-jars[Converting JARs] | xref:reference:native-image/advanced-topics.adoc#native-image.advanced.known-limitations[Known Limitations] |
| 146 | + |
| 147 | + |
| 148 | + |
| 149 | +[[documentation.advanced]] |
| 150 | +== Advanced Topics |
| 151 | + |
| 152 | +Finally, we have a few topics for more advanced users: |
| 153 | + |
| 154 | +* *Spring Boot Applications Deployment:* xref:reference:deployment/cloud.adoc[Cloud Deployment] | xref:reference:deployment/installing.adoc[OS Service] |
| 155 | +* *Build tool plugins:* xref:maven-plugin:index.adoc[Maven] | xref:gradle-plugin:index.adoc[Gradle] |
| 156 | +* *Appendix:* xref:appendix:application-properties/index.adoc[Application Properties] | xref:specification:configuration-metadata/index.adoc[Configuration Metadata] | xref:appendix:auto-configuration-classes/index.adoc[Auto-configuration Classes] | xref:appendix:test-auto-configuration/index.adoc[Test Auto-configuration Annotations] | xref:specification:executable-jar/index.adoc[Executable Jars] | xref:appendix:dependency-versions/index.adoc[Dependency Versions] |
0 commit comments