diff --git a/Spring-Boot/version/documents/2.0.0/guide-part-2.md b/Spring-Boot/version/documents/2.0.0/guide-part-2.md index d62ec3e48dadddb5abe44be6314e9290b3abf9b3..fbfbd47b834ce489258cd17689362133a6a02f88 100644 --- a/Spring-Boot/version/documents/2.0.0/guide-part-2.md +++ b/Spring-Boot/version/documents/2.0.0/guide-part-2.md @@ -1,6 +1,6 @@ # Spring Boot Reference Guide -### [中文文档](参考手册.md) +### [中文文档](参考手册2.md) ## Authors @@ -18,28 +18,228 @@ Copyright © 2012-2018 - [VI. Deploying Spring Boot Applications](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#deployment) - [60. Deploying to the Cloud](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cloud-deployment)[60.1. Cloud Foundry](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cloud-deployment-cloud-foundry)[60.1.1. Binding to Services](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cloud-deployment-cloud-foundry-services)[60.2. Heroku](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cloud-deployment-heroku)[60.3. OpenShift](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cloud-deployment-openshift)[60.4. Amazon Web Services (AWS)](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cloud-deployment-aws)[60.4.1. AWS Elastic Beanstalk](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#_aws_elastic_beanstalk)[Using the Tomcat Platform](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#_using_the_tomcat_platform)[Using the Java SE Platform](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#_using_the_java_se_platform)[60.4.2. Summary](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#_summary)[60.5. Boxfuse and Amazon Web Services](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cloud-deployment-boxfuse)[60.6. Google Cloud](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cloud-deployment-gae)[61. Installing Spring Boot Applications](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#deployment-install)[61.1. Supported Operating Systems](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#deployment-install-supported-operating-systems)[61.2. Unix/Linux Services](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#deployment-service)[61.2.1. Installation as an `init.d` Service (System V)](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#deployment-initd-service)[Securing an `init.d` Service](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#deployment-initd-service-securing)[61.2.2. Installation as a `systemd` Service](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#deployment-systemd-service)[61.2.3. Customizing the Startup Script](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#deployment-script-customization)[Customizing the Start Script when It Is Written](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#deployment-script-customization-when-it-written)[Customizing a Script When It Runs](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#deployment-script-customization-when-it-runs)[61.3. Microsoft Windows Services](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#deployment-windows)[62. What to Read Next](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#deployment-whats-next) + - [60. Deploying to the Cloud](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cloud-deployment) + - [60.1. Cloud Foundry](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cloud-deployment-cloud-foundry) + - [60.1.1. Binding to Services](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cloud-deployment-cloud-foundry-services) + - [60.2. Heroku](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cloud-deployment-heroku) + - [60.3. OpenShift](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cloud-deployment-openshift) + - [60.4. Amazon Web Services (AWS)](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cloud-deployment-aws) + - [60.4.1. AWS Elastic Beanstalk](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#_aws_elastic_beanstalk) + - [Using the Tomcat Platform](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#_using_the_tomcat_platform) + - [Using the Java SE Platform](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#_using_the_java_se_platform) + - [60.4.2. Summary](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#_summary) + - [60.5. Boxfuse and Amazon Web Services](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cloud-deployment-boxfuse) + - [60.6. Google Cloud](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cloud-deployment-gae) + - [61. Installing Spring Boot Applications](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#deployment-install) + - [61.1. Supported Operating Systems](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#deployment-install-supported-operating-systems) + - [61.2. Unix/Linux Services](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#deployment-service) + - [61.2.1. Installation as an `init.d` Service (System V)](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#deployment-initd-service) + - [Securing an `init.d` Service](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#deployment-initd-service-securing) + - [61.2.2. Installation as a `systemd` Service](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#deployment-systemd-service) + - [61.2.3. Customizing the Startup Script](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#deployment-script-customization) + - [Customizing the Start Script when It Is Written](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#deployment-script-customization-when-it-written) + - [Customizing a Script When It Runs](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#deployment-script-customization-when-it-runs) + - [61.3. Microsoft Windows Services](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#deployment-windows) + - [62. What to Read Next](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#deployment-whats-next) - [VII. Spring Boot CLI](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cli) - [63. Installing the CLI](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cli-installation)[64. Using the CLI](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cli-using-the-cli)[64.1. Running Applications with the CLI](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cli-run)[64.1.1. Deduced “grab” Dependencies](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cli-deduced-grab-annotations)[64.1.2. Deduced “grab” Coordinates](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cli-default-grab-deduced-coordinates)[64.1.3. Default Import Statements](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cli-default-import-statements)[64.1.4. Automatic Main Method](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cli-automatic-main-method)[64.1.5. Custom Dependency Management](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cli-default-grab-deduced-coordinates-custom-dependency-management)[64.2. Applications with Multiple Source Files](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cli-multiple-source-files)[64.3. Packaging Your Application](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cli-jar)[64.4. Initialize a New Project](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cli-init)[64.5. Using the Embedded Shell](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cli-shell)[64.6. Adding Extensions to the CLI](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cli-install-uninstall)[65. Developing Applications with the Groovy Beans DSL](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cli-groovy-beans-dsl)[66. Configuring the CLI with `settings.xml`](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cli-maven-settings)[67. What to Read Next](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cli-whats-next) + - [63. Installing the CLI](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cli-installation) + - [64. Using the CLI](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cli-using-the-cli) + - [64.1. Running Applications with the CLI](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cli-run) + - [64.1.1. Deduced “grab” Dependencies](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cli-deduced-grab-annotations) + - [64.1.2. Deduced “grab” Coordinates](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cli-default-grab-deduced-coordinates) + - [64.1.3. Default Import Statements](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cli-default-import-statements) + - [64.1.4. Automatic Main Method](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cli-automatic-main-method) + - [64.1.5. Custom Dependency Management](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cli-default-grab-deduced-coordinates-custom-dependency-management) + - [64.2. Applications with Multiple Source Files](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cli-multiple-source-files) + - [64.3. Packaging Your Application](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cli-jar) + - [64.4. Initialize a New Project](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cli-init) + - [64.5. Using the Embedded Shell](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cli-shell) + - [64.6. Adding Extensions to the CLI](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cli-install-uninstall) + - [65. Developing Applications with the Groovy Beans DSL](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cli-groovy-beans-dsl) + - [66. Configuring the CLI with `settings.xml`](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cli-maven-settings) + - [67. What to Read Next](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#cli-whats-next) - [VIII. Build tool plugins](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#build-tool-plugins) - [68. Spring Boot Maven Plugin](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#build-tool-plugins-maven-plugin)[68.1. Including the Plugin](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#build-tool-plugins-include-maven-plugin)[68.2. Packaging Executable Jar and War Files](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#build-tool-plugins-maven-packaging)[69. Spring Boot Gradle Plugin](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#build-tool-plugins-gradle-plugin)[70. Spring Boot AntLib Module](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#build-tool-plugins-antlib)[70.1. Spring Boot Ant Tasks](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#_spring_boot_ant_tasks)[70.1.1. `spring-boot:exejar`](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#spring-boot-ant-exejar)[70.1.2. Examples](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#_examples)[70.2. `spring-boot:findmainclass`](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#spring-boot-ant-findmainclass)[70.2.1. Examples](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#_examples_2)[71. Supporting Other Build Systems](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#build-tool-plugins-other-build-systems)[71.1. Repackaging Archives](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#build-tool-plugins-repackaging-archives)[71.2. Nested Libraries](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#build-tool-plugins-nested-libraries)[71.3. Finding a Main Class](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#build-tool-plugins-find-a-main-class)[71.4. Example Repackage Implementation](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#build-tool-plugins-repackage-implementation)[72. What to Read Next](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#build-tool-plugins-whats-next) + - [68. Spring Boot Maven Plugin](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#build-tool-plugins-maven-plugin) + - [68.1. Including the Plugin](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#build-tool-plugins-include-maven-plugin) + - [68.2. Packaging Executable Jar and War Files](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#build-tool-plugins-maven-packaging) + - [69. Spring Boot Gradle Plugin](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#build-tool-plugins-gradle-plugin) + - [70. Spring Boot AntLib Module](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#build-tool-plugins-antlib) + - [70.1. Spring Boot Ant Tasks](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#_spring_boot_ant_tasks) + - [70.1.1. `spring-boot:exejar`](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#spring-boot-ant-exejar) + - [70.1.2. Examples](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#_examples) + - [70.2. `spring-boot:findmainclass`](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#spring-boot-ant-findmainclass) + - [70.2.1. Examples](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#_examples_2) + - [71. Supporting Other Build Systems](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#build-tool-plugins-other-build-systems) + - [71.1. Repackaging Archives](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#build-tool-plugins-repackaging-archives) + - [71.2. Nested Libraries](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#build-tool-plugins-nested-libraries) + - [71.3. Finding a Main Class](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#build-tool-plugins-find-a-main-class) + - [71.4. Example Repackage Implementation](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#build-tool-plugins-repackage-implementation) + - [72. What to Read Next](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#build-tool-plugins-whats-next) - [IX. ‘How-to’ guides](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto) - [73. Spring Boot Application](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-spring-boot-application)[73.1. Create Your Own FailureAnalyzer](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-failure-analyzer)[73.2. Troubleshoot Auto-configuration](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-troubleshoot-auto-configuration)[73.3. Customize the Environment or ApplicationContext Before It Starts](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-customize-the-environment-or-application-context)[73.4. Build an ApplicationContext Hierarchy (Adding a Parent or Root Context)](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-build-an-application-context-hierarchy)[73.5. Create a Non-web Application](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-create-a-non-web-application)[74. Properties and Configuration](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-properties-and-configuration)[74.1. Automatically Expand Properties at Build Time](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-automatic-expansion)[74.1.1. Automatic Property Expansion Using Maven](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-automatic-expansion-maven)[74.1.2. Automatic Property Expansion Using Gradle](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-automatic-expansion-gradle)[74.2. Externalize the Configuration of `SpringApplication`](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-externalize-configuration)[74.3. Change the Location of External Properties of an Application](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-change-the-location-of-external-properties)[74.4. Use ‘Short’ Command Line Arguments](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-use-short-command-line-arguments)[74.5. Use YAML for External Properties](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-use-yaml-for-external-properties)[74.6. Set the Active Spring Profiles](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-set-active-spring-profiles)[74.7. Change Configuration Depending on the Environment](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-change-configuration-depending-on-the-environment)[74.8. Discover Built-in Options for External Properties](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-discover-build-in-options-for-external-properties)[75. Embedded Web Servers](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-embedded-web-servers)[75.1. Use Another Web Server](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-use-another-web-server)[75.2. Configure Jetty](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-configure-jetty)[75.3. Add a Servlet, Filter, or Listener to an Application](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-add-a-servlet-filter-or-listener)[75.3.1. Add a Servlet, Filter, or Listener by Using a Spring Bean](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-add-a-servlet-filter-or-listener-as-spring-bean)[Disable Registration of a Servlet or Filter](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-disable-registration-of-a-servlet-or-filter)[75.3.2. Add Servlets, Filters, and Listeners by Using Classpath Scanning](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-add-a-servlet-filter-or-listener-using-scanning)[75.4. Change the HTTP Port](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-change-the-http-port)[75.5. Use a Random Unassigned HTTP Port](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-user-a-random-unassigned-http-port)[75.6. Discover the HTTP Port at Runtime](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-discover-the-http-port-at-runtime)[75.7. Configure SSL](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-configure-ssl)[75.8. Configure HTTP/2](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-configure-http2)[75.8.1. HTTP/2 with Undertow](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-configure-http2-undertow)[75.8.2. HTTP/2 with Jetty](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-configure-http2-jetty)[75.8.3. HTTP/2 with Tomcat](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-configure-http2-tomcat)[75.9. Configure Access Logging](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-configure-accesslogs)[75.10. Running Behind a Front-end Proxy Server](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-use-tomcat-behind-a-proxy-server)[75.10.1. Customize Tomcat’s Proxy Configuration](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-customize-tomcat-behind-a-proxy-server)[75.11. Configure Tomcat](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-configure-tomcat)[75.12. Enable Multiple Connectors with Tomcat](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-enable-multiple-connectors-in-tomcat)[75.13. Use Tomcat’s LegacyCookieProcessor](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-use-tomcat-legacycookieprocessor)[75.14. Configure Undertow](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-configure-undertow)[75.15. Enable Multiple Listeners with Undertow](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-enable-multiple-listeners-in-undertow)[75.16. Create WebSocket Endpoints Using @ServerEndpoint](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-create-websocket-endpoints-using-serverendpoint)[75.17. Enable HTTP Response Compression](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#how-to-enable-http-response-compression)[76. Spring MVC](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-spring-mvc)[76.1. Write a JSON REST Service](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-write-a-json-rest-service)[76.2. Write an XML REST Service](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-write-an-xml-rest-service)[76.3. Customize the Jackson ObjectMapper](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-customize-the-jackson-objectmapper)[76.4. Customize the @ResponseBody Rendering](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-customize-the-responsebody-rendering)[76.5. Handling Multipart File Uploads](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-multipart-file-upload-configuration)[76.6. Switch Off the Spring MVC DispatcherServlet](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-switch-off-the-spring-mvc-dispatcherservlet)[76.7. Switch off the Default MVC Configuration](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-switch-off-default-mvc-configuration)[76.8. Customize ViewResolvers](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-customize-view-resolvers)[77. HTTP Clients](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-http-clients)[77.1. Configure RestTemplate to Use a Proxy](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-http-clients-proxy-configuration)[78. Logging](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-logging)[78.1. Configure Logback for Logging](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-configure-logback-for-logging)[78.1.1. Configure Logback for File-only Output](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-configure-logback-for-logging-fileonly)[78.2. Configure Log4j for Logging](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-configure-log4j-for-logging)[78.2.1. Use YAML or JSON to Configure Log4j 2](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-configure-log4j-for-logging-yaml-or-json-config)[79. Data Access](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-data-access)[79.1. Configure a Custom DataSource](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-configure-a-datasource)[79.2. Configure Two DataSources](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-two-datasources)[79.3. Use Spring Data Repositories](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-use-spring-data-repositories)[79.4. Separate @Entity Definitions from Spring Configuration](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-separate-entity-definitions-from-spring-configuration)[79.5. Configure JPA Properties](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-configure-jpa-properties)[79.6. Configure Hibernate Naming Strategy](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-configure-hibernate-naming-strategy)[79.7. Use a Custom EntityManagerFactory](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-use-custom-entity-manager)[79.8. Use Two EntityManagers](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-use-two-entity-managers)[79.9. Use a Traditional `persistence.xml` File](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-use-traditional-persistence-xml)[79.10. Use Spring Data JPA and Mongo Repositories](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-use-spring-data-jpa--and-mongo-repositories)[79.11. Expose Spring Data Repositories as REST Endpoint](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-use-exposing-spring-data-repositories-rest-endpoint)[79.12. Configure a Component that is Used by JPA](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-configure-a-component-that-is-used-by-JPA)[79.13. Configure jOOQ with Two DataSources](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-configure-jOOQ-with-multiple-datasources)[80. Database Initialization](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-database-initialization)[80.1. Initialize a Database Using JPA](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-initialize-a-database-using-jpa)[80.2. Initialize a Database Using Hibernate](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-initialize-a-database-using-hibernate)[80.3. Initialize a Database](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-initialize-a-database-using-spring-jdbc)[80.4. Initialize a Spring Batch Database](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-initialize-a-spring-batch-database)[80.5. Use a Higher-level Database Migration Tool](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-use-a-higher-level-database-migration-tool)[80.5.1. Execute Flyway Database Migrations on Startup](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-execute-flyway-database-migrations-on-startup)[80.5.2. Execute Liquibase Database Migrations on Startup](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-execute-liquibase-database-migrations-on-startup)[81. Messaging](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-messaging)[81.1. Disable Transacted JMS Session](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-jms-disable-transaction)[82. Batch Applications](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-batch-applications)[82.1. Execute Spring Batch Jobs on Startup](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-execute-spring-batch-jobs-on-startup)[83. Actuator](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-actuator)[83.1. Change the HTTP Port or Address of the Actuator Endpoints](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-change-the-http-port-or-address-of-the-actuator-endpoints)[83.2. Customize the ‘whitelabel’ Error Page](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-customize-the-whitelabel-error-page)[84. Security](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-security)[84.1. Switch off the Spring Boot Security Configuration](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-switch-off-spring-boot-security-configuration)[84.2. Change the AuthenticationManager and Add User Accounts](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-change-the-authenticationmanager-and-add-user-accounts)[84.3. Enable HTTPS When Running behind a Proxy Server](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-enable-https)[85. Hot Swapping](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-hotswapping)[85.1. Reload Static Content](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-reload-static-content)[85.2. Reload Templates without Restarting the Container](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-reload-thymeleaf-template-content)[85.2.1. Thymeleaf Templates](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-reload-thymeleaf-content)[85.2.2. FreeMarker Templates](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-reload-freemarker-content)[85.2.3. Groovy Templates](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-reload-groovy-template-content)[85.3. Fast Application Restarts](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-reload-fast-restart)[85.4. Reload Java Classes without Restarting the Container](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-reload-java-classes-without-restarting)[86. Build](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-build)[86.1. Generate Build Information](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-build-info)[86.2. Generate Git Information](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-git-info)[86.3. Customize Dependency Versions](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-customize-dependency-versions)[86.4. Create an Executable JAR with Maven](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-create-an-executable-jar-with-maven)[86.5. Use a Spring Boot Application as a Dependency](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-create-an-additional-executable-jar)[86.6. Extract Specific Libraries When an Executable Jar Runs](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-extract-specific-libraries-when-an-executable-jar-runs)[86.7. Create a Non-executable JAR with Exclusions](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-create-a-nonexecutable-jar)[86.8. Remote Debug a Spring Boot Application Started with Maven](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-remote-debug-maven-run)[86.9. Build an Executable Archive from Ant without Using `spring-boot-antlib`](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-build-an-executable-archive-with-ant)[87. Traditional Deployment](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-traditional-deployment)[87.1. Create a Deployable War File](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-create-a-deployable-war-file)[87.2. Create a Deployable War File for Older Servlet Containers](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-create-a-deployable-war-file-for-older-containers)[87.3. Convert an Existing Application to Spring Boot](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-convert-an-existing-application-to-spring-boot)[87.4. Deploying a WAR to WebLogic](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-weblogic)[87.5. Deploying a WAR in an Old (Servlet 2.5) Container](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-servlet-2-5)[87.6. Use Jedis Instead of Lettuce](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-use-jedis-instead-of-lettuce) + - [73. Spring Boot Application](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-spring-boot-application) + - [73.1. Create Your Own FailureAnalyzer](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-failure-analyzer) + - [73.2. Troubleshoot Auto-configuration](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-troubleshoot-auto-configuration) + - [73.3. Customize the Environment or ApplicationContext Before It Starts](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-customize-the-environment-or-application-context) + - [73.4. Build an ApplicationContext Hierarchy (Adding a Parent or Root Context)](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-build-an-application-context-hierarchy) + - [73.5. Create a Non-web Application](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-create-a-non-web-application) + - [74. Properties and Configuration](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-properties-and-configuration) + - [74.1. Automatically Expand Properties at Build Time](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-automatic-expansion) + - [74.1.1. Automatic Property Expansion Using Maven](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-automatic-expansion-maven) + - [74.1.2. Automatic Property Expansion Using Gradle](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-automatic-expansion-gradle) + - [74.2. Externalize the Configuration of `SpringApplication`](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-externalize-configuration) + - [74.3. Change the Location of External Properties of an Application](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-change-the-location-of-external-properties) + - [74.4. Use ‘Short’ Command Line Arguments](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-use-short-command-line-arguments) + - [74.5. Use YAML for External Properties](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-use-yaml-for-external-properties) + - [74.6. Set the Active Spring Profiles](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-set-active-spring-profiles) + - [74.7. Change Configuration Depending on the Environment](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-change-configuration-depending-on-the-environment) + - [74.8. Discover Built-in Options for External Properties](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-discover-build-in-options-for-external-properties) + - [75. Embedded Web Servers](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-embedded-web-servers) + - [75.1. Use Another Web Server](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-use-another-web-server) + - [75.2. Configure Jetty](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-configure-jetty) + - [75.3. Add a Servlet, Filter, or Listener to an Application](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-add-a-servlet-filter-or-listener) + - [75.3.1. Add a Servlet, Filter, or Listener by Using a Spring Bean](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-add-a-servlet-filter-or-listener-as-spring-bean) + - [Disable Registration of a Servlet or Filter](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-disable-registration-of-a-servlet-or-filter) + - [75.3.2. Add Servlets, Filters, and Listeners by Using Classpath Scanning](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-add-a-servlet-filter-or-listener-using-scanning) + - [75.4. Change the HTTP Port](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-change-the-http-port) + - [75.5. Use a Random Unassigned HTTP Port](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-user-a-random-unassigned-http-port) + - [75.6. Discover the HTTP Port at Runtime](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-discover-the-http-port-at-runtime) + - [75.7. Configure SSL](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-configure-ssl) + - [75.8. Configure HTTP/2](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-configure-http2) + - [75.8.1. HTTP/2 with Undertow](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-configure-http2-undertow) + - [75.8.2. HTTP/2 with Jetty](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-configure-http2-jetty) + - [75.8.3. HTTP/2 with Tomcat](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-configure-http2-tomcat) + - [75.9. Configure Access Logging](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-configure-accesslogs) + - [75.10. Running Behind a Front-end Proxy Server](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-use-tomcat-behind-a-proxy-server) + - [75.10.1. Customize Tomcat’s Proxy Configuration](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-customize-tomcat-behind-a-proxy-server) + - [75.11. Configure Tomcat](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-configure-tomcat) + - [75.12. Enable Multiple Connectors with Tomcat](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-enable-multiple-connectors-in-tomcat) + - [75.13. Use Tomcat’s LegacyCookieProcessor](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-use-tomcat-legacycookieprocessor) + - [75.14. Configure Undertow](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-configure-undertow) + - [75.15. Enable Multiple Listeners with Undertow](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-enable-multiple-listeners-in-undertow) + - [75.16. Create WebSocket Endpoints Using @ServerEndpoint](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-create-websocket-endpoints-using-serverendpoint) + - [75.17. Enable HTTP Response Compression](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#how-to-enable-http-response-compression) + - [76. Spring MVC](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-spring-mvc) + - [76.1. Write a JSON REST Service](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-write-a-json-rest-service) + - [76.2. Write an XML REST Service](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-write-an-xml-rest-service) + - [76.3. Customize the Jackson ObjectMapper](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-customize-the-jackson-objectmapper) + - [76.4. Customize the @ResponseBody Rendering](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-customize-the-responsebody-rendering) + - [76.5. Handling Multipart File Uploads](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-multipart-file-upload-configuration) + - [76.6. Switch Off the Spring MVC DispatcherServlet](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-switch-off-the-spring-mvc-dispatcherservlet) + - [76.7. Switch off the Default MVC Configuration](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-switch-off-default-mvc-configuration) + - [76.8. Customize ViewResolvers](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-customize-view-resolvers) + - [77. HTTP Clients](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-http-clients) + - [77.1. Configure RestTemplate to Use a Proxy](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-http-clients-proxy-configuration) + - [78. Logging](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-logging) + - [78.1. Configure Logback for Logging](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-configure-logback-for-logging) + - [78.1.1. Configure Logback for File-only Output](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-configure-logback-for-logging-fileonly) + - [78.2. Configure Log4j for Logging](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-configure-log4j-for-logging) + - [78.2.1. Use YAML or JSON to Configure Log4j 2](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-configure-log4j-for-logging-yaml-or-json-config) + - [79. Data Access](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-data-access) + - [79.1. Configure a Custom DataSource](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-configure-a-datasource) + - [79.2. Configure Two DataSources](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-two-datasources) + - [79.3. Use Spring Data Repositories](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-use-spring-data-repositories) + - [79.4. Separate @Entity Definitions from Spring Configuration](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-separate-entity-definitions-from-spring-configuration) + - [79.5. Configure JPA Properties](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-configure-jpa-properties) + - [79.6. Configure Hibernate Naming Strategy](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-configure-hibernate-naming-strategy) + - [79.7. Use a Custom EntityManagerFactory](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-use-custom-entity-manager) + - [79.8. Use Two EntityManagers](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-use-two-entity-managers) + - [79.9. Use a Traditional `persistence.xml` File](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-use-traditional-persistence-xml) + - [79.10. Use Spring Data JPA and Mongo Repositories](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-use-spring-data-jpa--and-mongo-repositories) + - [79.11. Expose Spring Data Repositories as REST Endpoint](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-use-exposing-spring-data-repositories-rest-endpoint) + - [79.12. Configure a Component that is Used by JPA](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-configure-a-component-that-is-used-by-JPA) + - [79.13. Configure jOOQ with Two DataSources](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-configure-jOOQ-with-multiple-datasources) + - [80. Database Initialization](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-database-initialization) + - [80.1. Initialize a Database Using JPA](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-initialize-a-database-using-jpa) + - [80.2. Initialize a Database Using Hibernate](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-initialize-a-database-using-hibernate) + - [80.3. Initialize a Database](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-initialize-a-database-using-spring-jdbc) + - [80.4. Initialize a Spring Batch Database](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-initialize-a-spring-batch-database) + - [80.5. Use a Higher-level Database Migration Tool](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-use-a-higher-level-database-migration-tool) + - [80.5.1. Execute Flyway Database Migrations on Startup](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-execute-flyway-database-migrations-on-startup) + - [80.5.2. Execute Liquibase Database Migrations on Startup](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-execute-liquibase-database-migrations-on-startup) + - [81. Messaging](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-messaging) + - [81.1. Disable Transacted JMS Session](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-jms-disable-transaction) + - [82. Batch Applications](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-batch-applications) + - [82.1. Execute Spring Batch Jobs on Startup](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-execute-spring-batch-jobs-on-startup) + - [83. Actuator](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-actuator) + - [83.1. Change the HTTP Port or Address of the Actuator Endpoints](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-change-the-http-port-or-address-of-the-actuator-endpoints) + - [83.2. Customize the ‘whitelabel’ Error Page](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-customize-the-whitelabel-error-page) + - [84. Security](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-security) + - [84.1. Switch off the Spring Boot Security Configuration](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-switch-off-spring-boot-security-configuration) + - [84.2. Change the AuthenticationManager and Add User Accounts](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-change-the-authenticationmanager-and-add-user-accounts) + - [84.3. Enable HTTPS When Running behind a Proxy Server](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-enable-https) + - [85. Hot Swapping](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-hotswapping) + - [85.1. Reload Static Content](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-reload-static-content) + - [85.2. Reload Templates without Restarting the Container](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-reload-thymeleaf-template-content) + - [85.2.1. Thymeleaf Templates](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-reload-thymeleaf-content) + - [85.2.2. FreeMarker Templates](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-reload-freemarker-content) + - [85.2.3. Groovy Templates](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-reload-groovy-template-content) + - [85.3. Fast Application Restarts](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-reload-fast-restart) + - [85.4. Reload Java Classes without Restarting the Container](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-reload-java-classes-without-restarting) + - [86. Build](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-build) + - [86.1. Generate Build Information](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-build-info) + - [86.2. Generate Git Information](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-git-info) + - [86.3. Customize Dependency Versions](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-customize-dependency-versions) + - [86.4. Create an Executable JAR with Maven](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-create-an-executable-jar-with-maven) + - [86.5. Use a Spring Boot Application as a Dependency](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-create-an-additional-executable-jar) + - [86.6. Extract Specific Libraries When an Executable Jar Runs](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-extract-specific-libraries-when-an-executable-jar-runs) + - [86.7. Create a Non-executable JAR with Exclusions](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-create-a-nonexecutable-jar) + - [86.8. Remote Debug a Spring Boot Application Started with Maven](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-remote-debug-maven-run) + - [86.9. Build an Executable Archive from Ant without Using `spring-boot-antlib`](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-build-an-executable-archive-with-ant) + - [87. Traditional Deployment](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-traditional-deployment) + - [87.1. Create a Deployable War File](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-create-a-deployable-war-file) + - [87.2. Create a Deployable War File for Older Servlet Containers](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-create-a-deployable-war-file-for-older-containers) + - [87.3. Convert an Existing Application to Spring Boot](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-convert-an-existing-application-to-spring-boot) + - [87.4. Deploying a WAR to WebLogic](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-weblogic) + - [87.5. Deploying a WAR in an Old (Servlet 2.5) Container](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-servlet-2-5) + - [87.6. Use Jedis Instead of Lettuce](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#howto-use-jedis-instead-of-lettuce) - [X. Appendices](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#appendix) - [A. Common application properties](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#common-application-properties)[B. Configuration Metadata](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#configuration-metadata)[B.1. Metadata Format](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#configuration-metadata-format)[B.1.1. Group Attributes](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#configuration-metadata-group-attributes)[B.1.2. Property Attributes](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#configuration-metadata-property-attributes)[B.1.3. Hint Attributes](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#configuration-metadata-hints-attributes)[B.1.4. Repeated Metadata Items](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#configuration-metadata-repeated-items)[B.2. Providing Manual Hints](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#configuration-metadata-providing-manual-hints)[B.2.1. Value Hint](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#_value_hint)[B.2.2. Value Providers](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#_value_providers)[Any](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#_any)[Class Reference](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#_class_reference)[Handle As](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#_handle_as)[Logger Name](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#_logger_name)[Spring Bean Reference](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#_spring_bean_reference)[Spring Profile Name](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#_spring_profile_name)[B.3. Generating Your Own Metadata by Using the Annotation Processor](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#configuration-metadata-annotation-processor)[B.3.1. Nested Properties](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#configuration-metadata-nested-properties)[B.3.2. Adding Additional Metadata](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#configuration-metadata-additional-metadata)[C. Auto-configuration classes](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#auto-configuration-classes)[C.1. From the “spring-boot-autoconfigure” module](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#auto-configuration-classes-from-autoconfigure-module)[C.2. From the “spring-boot-actuator-autoconfigure” module](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#auto-configuration-classes-from-actuator)[D. Test auto-configuration annotations](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#test-auto-configuration)[E. The Executable Jar Format](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#executable-jar)[E.1. Nested JARs](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#executable-jar-nested-jars)[E.1.1. The Executable Jar File Structure](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#executable-jar-jar-file-structure)[E.1.2. The Executable War File Structure](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#executable-jar-war-file-structure)[E.2. Spring Boot’s “JarFile” Class](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#executable-jar-jarfile)[E.2.1. Compatibility with the Standard Java “JarFile”](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#executable-jar-jarfile-compatibility)[E.3. Launching Executable Jars](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#executable-jar-launching)[E.3.1. Launcher Manifest](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#executable-jar-launcher-manifest)[E.3.2. Exploded Archives](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#executable-jar-exploded-archives)[E.4. `PropertiesLauncher` Features](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#executable-jar-property-launcher-features)[E.5. Executable Jar Restrictions](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#executable-jar-restrictions)[E.6. Alternative Single Jar Solutions](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#executable-jar-alternatives)[F. Dependency versions](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#appendix-dependency-versions) + - [A. Common application properties](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#common-application-properties) + - [B. Configuration Metadata](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#configuration-metadata) + - [B.1. Metadata Format](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#configuration-metadata-format) + - [B.1.1. Group Attributes](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#configuration-metadata-group-attributes) + - [B.1.2. Property Attributes](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#configuration-metadata-property-attributes) + - [B.1.3. Hint Attributes](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#configuration-metadata-hints-attributes) + - [B.1.4. Repeated Metadata Items](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#configuration-metadata-repeated-items) + - [B.2. Providing Manual Hints](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#configuration-metadata-providing-manual-hints) + - [B.2.1. Value Hint](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#_value_hint) + - [B.2.2. Value Providers](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#_value_providers) + - [Any](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#_any) + - [Class Reference](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#_class_reference) + - [Handle As](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#_handle_as) + - [Logger Name](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#_logger_name) + - [Spring Bean Reference](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#_spring_bean_reference) + - [Spring Profile Name](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#_spring_profile_name) + - [B.3. Generating Your Own Metadata by Using the Annotation Processor](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#configuration-metadata-annotation-processor) + - [B.3.1. Nested Properties](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#configuration-metadata-nested-properties) + - [B.3.2. Adding Additional Metadata](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#configuration-metadata-additional-metadata) + - [C. Auto-configuration classes](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#auto-configuration-classes) + - [C.1. From the “spring-boot-autoconfigure” module](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#auto-configuration-classes-from-autoconfigure-module) + - [C.2. From the “spring-boot-actuator-autoconfigure” module](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#auto-configuration-classes-from-actuator) + - [D. Test auto-configuration annotations](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#test-auto-configuration) + - [E. The Executable Jar Format](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#executable-jar) + - [E.1. Nested JARs](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#executable-jar-nested-jars) + - [E.1.1. The Executable Jar File Structure](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#executable-jar-jar-file-structure) + - [E.1.2. The Executable War File Structure](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#executable-jar-war-file-structure) + - [E.2. Spring Boot’s “JarFile” Class](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#executable-jar-jarfile) + - [E.2.1. Compatibility with the Standard Java “JarFile”](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#executable-jar-jarfile-compatibility) + - [E.3. Launching Executable Jars](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#executable-jar-launching) + - [E.3.1. Launcher Manifest](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#executable-jar-launcher-manifest) + - [E.3.2. Exploded Archives](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#executable-jar-exploded-archives) + - [E.4. `PropertiesLauncher` Features](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#executable-jar-property-launcher-features) + - [E.5. Executable Jar Restrictions](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#executable-jar-restrictions) + - [E.6. Alternative Single Jar Solutions](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#executable-jar-alternatives) + - [F. Dependency versions](https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#appendix-dependency-versions) # Part VI. Deploying Spring Boot Applications - - Spring Boot’s flexible packaging options provide a great deal of choice when it comes to deploying your application. You can deploy Spring Boot applications to a variety of cloud platforms, to container images (such as Docker), or to virtual/real machines. This section covers some of the more common deployment scenarios.