Spring Boot makes it easy to create Spring-powered, production-grade applications and
services with absolute minimum fuss. It takes an opinionated view of the Spring platform
@ -62,12 +62,12 @@ Having trouble with Spring Boot? We'd like to help!
@@ -62,12 +62,12 @@ Having trouble with Spring Boot? We'd like to help!
{docs}/htmlsingle/#howto[How-to's] -- they provide solutions to the most common
questions.
* Learn the Spring basics -- Spring Boot builds on many other Spring projects, check
the http://spring.io[spring.io] web-site for a wealth of reference documentation. If
you are just starting out with Spring, try one of the http://spring.io/guides[guides].
the https://spring.io[spring.io] web-site for a wealth of reference documentation. If
you are just starting out with Spring, try one of the https://spring.io/guides[guides].
* If you are upgrading, read the https://github.com/spring-projects/spring-boot/wiki[release notes]
for upgrade instructions and "new and noteworthy" features.
* Ask a question - we monitor http://stackoverflow.com[stackoverflow.com] for questions
tagged with http://stackoverflow.com/tags/spring-boot[`spring-boot`].
* Ask a question - we monitor https://stackoverflow.com[stackoverflow.com] for questions
tagged with https://stackoverflow.com/tags/spring-boot[`spring-boot`].
* Report bugs with Spring Boot at https://github.com/spring-projects/spring-boot/issues[github.com/spring-projects/spring-boot/issues].
@ -93,7 +93,7 @@ requests. If you want to raise an issue, please follow the recommendations below
@@ -93,7 +93,7 @@ requests. If you want to raise an issue, please follow the recommendations below
== Building from Source
You don't need to build from source to use Spring Boot (binaries in
http://repo.spring.io[repo.spring.io]), but if you want to try out the latest and
https://repo.spring.io[repo.spring.io]), but if you want to try out the latest and
greatest, Spring Boot can be easily built with the
https://github.com/takari/maven-wrapper[maven wrapper]. You also need JDK 1.8.
@ -103,7 +103,7 @@ https://github.com/takari/maven-wrapper[maven wrapper]. You also need JDK 1.8.
@@ -103,7 +103,7 @@ https://github.com/takari/maven-wrapper[maven wrapper]. You also need JDK 1.8.
----
If you want to build with the regular `mvn` command, you will need
http://maven.apache.org/run-maven/index.html[Maven v3.2.1 or above].
https://maven.apache.org/run-maven/index.html[Maven v3.2.1 or above].
NOTE: You may need to increase the amount of memory available to Maven by setting
a `MAVEN_OPTS` environment variable with the value `-Xmx512m`. Remember
@ -231,16 +231,16 @@ be built with maven and run by invoking `java -jar target/<sample>.jar`.
@@ -231,16 +231,16 @@ be built with maven and run by invoking `java -jar target/<sample>.jar`.
== Guides
The http://spring.io/[spring.io] site contains several guides that show how to use Spring
The https://spring.io/[spring.io] site contains several guides that show how to use Spring
Boot step-by-step:
* http://spring.io/guides/gs/spring-boot/[Building an Application with Spring Boot] is a
* https://spring.io/guides/gs/spring-boot/[Building an Application with Spring Boot] is a
very basic guide that shows you how to create a simple application, run it and add some
management services.
* http://spring.io/guides/gs/actuator-service/[Building a RESTful Web Service with Spring
* https://spring.io/guides/gs/actuator-service/[Building a RESTful Web Service with Spring
Boot Actuator] is a guide to creating a REST web service and also shows how the server
can be configured.
* http://spring.io/guides/gs/convert-jar-to-war/[Converting a Spring Boot JAR Application
* https://spring.io/guides/gs/convert-jar-to-war/[Converting a Spring Boot JAR Application
to a WAR] shows you how to run applications in a web server as a WAR file.
@ -4,7 +4,7 @@ Spring Boot Actuator includes a number of additional features to help you monito
@@ -4,7 +4,7 @@ Spring Boot Actuator includes a number of additional features to help you monito
manage your application when it's pushed to production. You can choose to manage and
monitor your application using HTTP or JMX endpoints. Auditing, health and metrics
gathering can be automatically applied to your application. The
@ -86,11 +86,11 @@ If you use a milestone or snapshot release, you also need to add the appropriate
@@ -86,11 +86,11 @@ If you use a milestone or snapshot release, you also need to add the appropriate
@ -46,10 +46,10 @@ deploy stand-alone executable jar applications as well as traditional `.war` pac
@@ -46,10 +46,10 @@ deploy stand-alone executable jar applications as well as traditional `.war` pac
applications.
Once you have built your application (by using, for example, `mvn clean package`) and have
http://docs.cloudfoundry.org/devguide/installcf/install-go-cli.html[installed the `cf`
https://docs.cloudfoundry.org/cf-cli/install-go-cli.html[installed the `cf`
command line tool], deploy your application by using the `cf push` command, substituting
the path to your compiled `.jar`. Be sure to have
http://docs.cloudfoundry.org/devguide/installcf/whats-new-v6.html#login[logged in with
https://docs.cloudfoundry.org/cf-cli/getting-started.html#login[logged in with
your `cf` command line client] before pushing an application. The following line shows
using the `cf push` command to deploy an application:
@ -61,9 +61,9 @@ using the `cf push` command to deploy an application:
@@ -61,9 +61,9 @@ using the `cf push` command to deploy an application:
NOTE: In the preceding example, we substitute `acloudyspringtime` for whatever value you
give `cf` as the name of your application.
See the http://docs.cloudfoundry.org/devguide/installcf/whats-new-v6.html#push[`cf push`
See the https://docs.cloudfoundry.org/cf-cli/getting-started.html#push[`cf push`
documentation] for more options. If there is a Cloud Foundry
TIP: The http://cloud.spring.io/spring-cloud-connectors/[Spring Cloud Connectors] project
TIP: The https://cloud.spring.io/spring-cloud-connectors/[Spring Cloud Connectors] project
is a better fit for tasks such as configuring a DataSource. Spring Boot includes
auto-configuration support and a `spring-boot-starter-cloud-connectors` starter.
@ -199,8 +199,8 @@ deployments is to `git push` the code to production, as shown in the following e
@@ -199,8 +199,8 @@ deployments is to `git push` the code to production, as shown in the following e
Beanstalk Java guide], there are two main options to deploy a Java application. You can
either use the "`Tomcat Platform`" or the "`Java SE platform`".
@ -307,7 +307,7 @@ best to upload the binaries instead. To do so, add lines similar to the followin
@@ -307,7 +307,7 @@ best to upload the binaries instead. To do so, add lines similar to the followin
By default an Elastic Beanstalk environment is load balanced. The load balancer has a
significant cost. To avoid that cost, set the environment type to "`Single instance`", as
@ -33,10 +33,10 @@ If you have trouble with Spring Boot, we would like to help.
@@ -33,10 +33,10 @@ If you have trouble with Spring Boot, we would like to help.
* Try the <<howto.adoc#howto, How-to documents>>. They provide solutions to the most
common questions.
* Learn the Spring basics. Spring Boot builds on many other Spring projects. Check the
http://spring.io[spring.io] web-site for a wealth of reference documentation. If you are
starting out with Spring, try one of the http://spring.io/guides[guides].
* Ask a question. We monitor http://stackoverflow.com[stackoverflow.com] for questions
tagged with http://stackoverflow.com/tags/spring-boot[`spring-boot`].
https://spring.io[spring.io] web-site for a wealth of reference documentation. If you are
starting out with Spring, try one of the https://spring.io/guides[guides].
* Ask a question. We monitor https://stackoverflow.com[stackoverflow.com] for questions
tagged with https://stackoverflow.com/tags/spring-boot[`spring-boot`].
* Report bugs with Spring Boot at https://github.com/spring-projects/spring-boot/issues.
NOTE: All of Spring Boot is open source, including the documentation. If you find
Spring Boot {spring-boot-version} requires http://www.java.com[Java 8] and
Spring Boot {spring-boot-version} requires https://www.java.com[Java 8] and
{spring-reference}[Spring Framework {spring-version}] or above. Explicit build support is
provided for Maven 3.2+ and Gradle 4.
@ -68,7 +68,7 @@ You can also deploy Spring Boot applications to any Servlet 3.0+ compatible cont
@@ -68,7 +68,7 @@ You can also deploy Spring Boot applications to any Servlet 3.0+ compatible cont
[[getting-started-installing-spring-boot]]
== Installing Spring Boot
Spring Boot can be used with "`classic`" Java development tools or installed as a command
line tool. Either way, you need http://www.java.com[Java SDK v1.8] or higher. Before you
line tool. Either way, you need https://www.java.com[Java SDK v1.8] or higher. Before you
begin, you should check your current Java installation by using the following command:
[indent=0]
@ -98,7 +98,7 @@ tool that supports dependency management (such as Maven or Gradle).
@@ -98,7 +98,7 @@ tool that supports dependency management (such as Maven or Gradle).
[[getting-started-maven-installation]]
==== Maven Installation
Spring Boot is compatible with Apache Maven 3.2 or above. If you do not already have
Maven installed, you can follow the instructions at http://maven.apache.org.
Maven installed, you can follow the instructions at https://maven.apache.org.
TIP: On many operating systems, Maven can be installed with a package manager. If you use
OSX Homebrew, try `brew install maven`. Ubuntu users can run
@ -268,11 +268,11 @@ quickest way to get a Spring application off the ground.
@@ -268,11 +268,11 @@ quickest way to get a Spring application off the ground.
==== Manual Installation
You can download the Spring CLI distribution from the Spring software repository:
@ -8,7 +8,7 @@ that often arise when using Spring Boot. Its coverage is not exhaustive, but it
@@ -8,7 +8,7 @@ that often arise when using Spring Boot. Its coverage is not exhaustive, but it
does cover quite a lot.
If you have a specific problem that we do not cover here, you might want to check out
http://stackoverflow.com/tags/spring-boot[stackoverflow.com] to see if someone has
https://stackoverflow.com/tags/spring-boot[stackoverflow.com] to see if someone has
already provided an answer. This is also a great place to ask new questions (please use
the `spring-boot` tag).
@ -363,7 +363,7 @@ token of the `maven-resources-plugins` has been changed from `+${*}+` to `@` (th
@@ -363,7 +363,7 @@ token of the `maven-resources-plugins` has been changed from `+${*}+` to `@` (th
`@maven.token@` instead of `${maven.token}`) to prevent conflicts with Spring-style
placeholders. If you have enabled Maven filtering for the `application.properties`
directly, you may want to also change the default filter token to use
Starting Tomcat 8.5.x without that native support logs the following error:
@ -2100,7 +2100,7 @@ You can also switch off the initialization explicitly by setting
@@ -2100,7 +2100,7 @@ You can also switch off the initialization explicitly by setting
@ -2132,7 +2132,7 @@ Boot calls `Flyway.migrate()` to perform the database migration. If you would li
@@ -2132,7 +2132,7 @@ Boot calls `Flyway.migrate()` to perform the database migration. If you would li
Flyway supports SQL and Java http://flywaydb.org/documentation/callbacks.html[callbacks].
Flyway supports SQL and Java https://flywaydb.org/documentation/callbacks.html[callbacks].
To use SQL-based callbacks, place the callback scripts in the `classpath:db/migration`
folder. To use Java-based callbacks, create one or more beans that implement
`FlywayCallback` or, preferably, extend `BaseFlywayCallback`. Any such beans are
@ -2339,7 +2339,7 @@ it switches off the default webapp security settings in Spring Boot.
@@ -2339,7 +2339,7 @@ it switches off the default webapp security settings in Spring Boot.
If you provide a `@Bean` of type `AuthenticationManager`, `AuthenticationProvider`,
or `UserDetailsService`, the default `@Bean` for `InMemoryUserDetailsManager` is not
created, so you have the full feature set of Spring Security available (such as
The easiest way to add user accounts is to provide your own `UserDetailsService` bean.
@ -2955,7 +2955,7 @@ a Spring Boot application. To do so, throw away the code that creates your
@@ -2955,7 +2955,7 @@ a Spring Boot application. To do so, throw away the code that creates your
`ApplicationContext` and replace it with calls to `SpringApplication` or
`SpringApplicationBuilder`. Spring MVC web applications are generally amenable to first
creating a deployable war application and then migrating it later to an executable war
or jar. See the http://spring.io/guides/gs/convert-jar-to-war/[Getting
or jar. See the https://spring.io/guides/gs/convert-jar-to-war/[Getting
Started Guide on Converting a jar to a war].
To create a deployable war by extending `SpringBootServletInitializer` (for example, in a
@ -464,8 +464,8 @@ The following example remaps `/actuator/health` to `/healthcheck`:
@@ -464,8 +464,8 @@ The following example remaps `/actuator/health` to `/healthcheck`:
@ -1383,7 +1383,7 @@ See "<<boot-features-external-config-profile-specific-properties>>" for details.
@@ -1383,7 +1383,7 @@ See "<<boot-features-external-config-profile-specific-properties>>" for details.
Spring Boot uses http://commons.apache.org/logging[Commons Logging] for all internal
logging but leaves the underlying log implementation open. Default configurations are
Logging], http://logging.apache.org/log4j/2.x/[Log4J2], and
http://logback.qos.ch/[Logback]. In each case, loggers are pre-configured to use console
output with optional file output also available.
@ -1813,7 +1813,7 @@ The following code shows a typical `@RestController` that serves JSON data:
@@ -1813,7 +1813,7 @@ The following code shows a typical `@RestController` that serves JSON data:
Spring MVC is part of the core Spring Framework, and detailed information is available in
the {spring-reference}web.html#mvc[reference documentation]. There are also several
guides that cover Spring MVC available at http://spring.io/guides.
guides that cover Spring MVC available at https://spring.io/guides.
(CORS) is a http://www.w3.org/TR/cors/[W3C specification] implemented by
http://caniuse.com/#feat=cors[most browsers] that lets you specify in a flexible
https://caniuse.com/#feat=cors[most browsers] that lets you specify in a flexible
way what kind of cross-domain requests are authorized, instead of using some less secure
and less powerful approaches such as IFRAME or JSONP.
@ -2373,7 +2373,7 @@ defined by registering a `WebMvcConfigurer` bean with a customized
@@ -2373,7 +2373,7 @@ defined by registering a `WebMvcConfigurer` bean with a customized
Spring WebFlux is the new reactive web framework introduced in Spring Framework 5.0.
Unlike Spring MVC, it does not require the Servlet API, is fully asynchronous and
non-blocking, and implements the http://www.reactive-streams.org/[Reactive Streams]
specification through http://projectreactor.io/[the Reactor project].
specification through https://projectreactor.io/[the Reactor project].
Spring WebFlux comes in two flavors: functional and annotation-based. The
annotation-based one is quite close to the Spring MVC model, as shown in the
@ -3358,9 +3358,9 @@ started. It provides the following key dependencies:
@@ -3358,9 +3358,9 @@ started. It provides the following key dependencies:
* Spring ORMs: Core ORM support from the Spring Framework.
TIP: We do not go into too many details of JPA or {spring-data}[Spring Data] here. You can
follow the http://spring.io/guides/gs/accessing-data-jpa/["`Accessing Data with JPA`"]
guide from http://spring.io and read the {spring-data-jpa}[Spring Data JPA] and
@ -3861,7 +3861,7 @@ in the following example:
@@ -3861,7 +3861,7 @@ in the following example:
TIP: You can customize document scanning locations by using the `@EntityScan` annotation.
TIP: For complete details of Spring Data MongoDB, including its rich object mapping
technologies, refer to its http://projects.spring.io/spring-data-mongodb/[reference
technologies, refer to its https://projects.spring.io/spring-data-mongodb/[reference
documentation].
@ -4016,7 +4016,7 @@ The following example shows an interface definition for a Neo4j repository:
@@ -4016,7 +4016,7 @@ The following example shows an interface definition for a Neo4j repository:
----
TIP: For complete details of Spring Data Neo4j, including its rich object mapping
technologies, refer to the http://projects.spring.io/spring-data-neo4j/[reference
technologies, refer to the https://projects.spring.io/spring-data-neo4j/[reference
https://github.com/spring-projects/spring-data-gemfire[Spring Data Gemfire] provides
convenient Spring-friendly tools for accessing the
http://pivotal.io/big-data/pivotal-gemfire#details[Pivotal Gemfire] data management
https://pivotal.io/big-data/pivotal-gemfire#details[Pivotal Gemfire] data management
platform. There is a `spring-boot-starter-data-gemfire` "`Starter`" for collecting the
dependencies in a convenient way. There is currently no auto-configuration support for
Gemfire, but you can enable Spring Data Repositories with a
@ -4080,7 +4080,7 @@ You could take the JPA example from earlier and, assuming that `City` is now a
@@ -4080,7 +4080,7 @@ You could take the JPA example from earlier and, assuming that `City` is now a
`@SolrDocument` class rather than a JPA `@Entity`, it works in the same way.
TIP: For complete details of Spring Data Solr, refer to the
@ -4169,7 +4169,7 @@ now an Elasticsearch `@Document` class rather than a JPA `@Entity`, it works in
@@ -4169,7 +4169,7 @@ now an Elasticsearch `@Document` class rather than a JPA `@Entity`, it works in
way.
TIP: For complete details of Spring Data Elasticsearch, refer to the
@ -4227,7 +4227,7 @@ limited than the JPA repositories discussed earlier and needs to annotate finder
@@ -4227,7 +4227,7 @@ limited than the JPA repositories discussed earlier and needs to annotate finder
with `@Query`.
TIP: For complete details of Spring Data Cassandra, refer to the
@ -4283,7 +4283,7 @@ Check the `spring.couchbase.env.*` properties for more details.
@@ -4283,7 +4283,7 @@ Check the `spring.couchbase.env.*` properties for more details.
==== Spring Data Couchbase Repositories
Spring Data includes repository support for Couchbase. For complete details of Spring
You can inject an auto-configured `CouchbaseTemplate` instance as you would with any
@ -4379,7 +4379,7 @@ If you need to customize connection settings, you can use the `spring.ldap.base`
@@ -4379,7 +4379,7 @@ If you need to customize connection settings, you can use the `spring.ldap.base`
==== Spring Data LDAP Repositories
Spring Data includes repository support for LDAP. For complete details of Spring
@ -8,14 +8,14 @@ JPA for database access just include the `spring-boot-starter-data-jpa` dependen
@@ -8,14 +8,14 @@ JPA for database access just include the `spring-boot-starter-data-jpa` dependen