|
|
|
@ -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 |
|
|
|
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 but leaves the underlying log implementation open. Default configurations are |
|
|
|
provided for |
|
|
|
provided for |
|
|
|
http://docs.oracle.com/javase/8/docs/api/java/util/logging/package-summary.html[Java Util |
|
|
|
https://docs.oracle.com/javase/8/docs/api/java/util/logging/package-summary.html[Java Util |
|
|
|
Logging], http://logging.apache.org/log4j/2.x/[Log4J2], and |
|
|
|
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 |
|
|
|
http://logback.qos.ch/[Logback]. In each case, loggers are pre-configured to use console |
|
|
|
output with optional file output also available. |
|
|
|
output with optional file output also available. |
|
|
|
@ -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 |
|
|
|
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 |
|
|
|
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. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -2117,10 +2117,10 @@ integrations. |
|
|
|
|
|
|
|
|
|
|
|
Spring Boot includes auto-configuration support for the following templating engines: |
|
|
|
Spring Boot includes auto-configuration support for the following templating engines: |
|
|
|
|
|
|
|
|
|
|
|
* http://freemarker.org/docs/[FreeMarker] |
|
|
|
* https://freemarker.org/docs/[FreeMarker] |
|
|
|
* http://docs.groovy-lang.org/docs/next/html/documentation/template-engines.html#_the_markuptemplateengine[Groovy] |
|
|
|
* http://docs.groovy-lang.org/docs/next/html/documentation/template-engines.html#_the_markuptemplateengine[Groovy] |
|
|
|
* http://www.thymeleaf.org[Thymeleaf] |
|
|
|
* http://www.thymeleaf.org[Thymeleaf] |
|
|
|
* http://mustache.github.io/[Mustache] |
|
|
|
* https://mustache.github.io/[Mustache] |
|
|
|
|
|
|
|
|
|
|
|
TIP: If possible, JSPs should be avoided. There are several |
|
|
|
TIP: If possible, JSPs should be avoided. There are several |
|
|
|
<<boot-features-jsp-limitations, known limitations>> when using them with embedded |
|
|
|
<<boot-features-jsp-limitations, known limitations>> when using them with embedded |
|
|
|
@ -2333,9 +2333,9 @@ described earlier. |
|
|
|
[[boot-features-cors]] |
|
|
|
[[boot-features-cors]] |
|
|
|
==== CORS Support |
|
|
|
==== CORS Support |
|
|
|
|
|
|
|
|
|
|
|
http://en.wikipedia.org/wiki/Cross-origin_resource_sharing[Cross-origin resource sharing] |
|
|
|
https://en.wikipedia.org/wiki/Cross-origin_resource_sharing[Cross-origin resource sharing] |
|
|
|
(CORS) is a http://www.w3.org/TR/cors/[W3C specification] implemented by |
|
|
|
(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 |
|
|
|
way what kind of cross-domain requests are authorized, instead of using some less secure |
|
|
|
and less powerful approaches such as IFRAME or JSONP. |
|
|
|
and less powerful approaches such as IFRAME or JSONP. |
|
|
|
|
|
|
|
|
|
|
|
@ -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. |
|
|
|
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 |
|
|
|
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] |
|
|
|
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 |
|
|
|
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 |
|
|
|
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: |
|
|
|
* Spring ORMs: Core ORM support from the Spring Framework. |
|
|
|
* 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 |
|
|
|
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`"] |
|
|
|
follow the https://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 |
|
|
|
guide from https://spring.io and read the {spring-data-jpa}[Spring Data JPA] and |
|
|
|
http://hibernate.org/orm/documentation/[Hibernate] reference documentation. |
|
|
|
https://hibernate.org/orm/documentation/[Hibernate] reference documentation. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -3652,19 +3652,19 @@ complete control of the jOOQ configuration. |
|
|
|
== Working with NoSQL Technologies |
|
|
|
== Working with NoSQL Technologies |
|
|
|
Spring Data provides additional projects that help you access a variety of NoSQL |
|
|
|
Spring Data provides additional projects that help you access a variety of NoSQL |
|
|
|
technologies, including: |
|
|
|
technologies, including: |
|
|
|
http://projects.spring.io/spring-data-mongodb/[MongoDB], |
|
|
|
https://projects.spring.io/spring-data-mongodb/[MongoDB], |
|
|
|
http://projects.spring.io/spring-data-neo4j/[Neo4J], |
|
|
|
https://projects.spring.io/spring-data-neo4j/[Neo4J], |
|
|
|
https://github.com/spring-projects/spring-data-elasticsearch/[Elasticsearch], |
|
|
|
https://github.com/spring-projects/spring-data-elasticsearch/[Elasticsearch], |
|
|
|
http://projects.spring.io/spring-data-solr/[Solr], |
|
|
|
https://projects.spring.io/spring-data-solr/[Solr], |
|
|
|
http://projects.spring.io/spring-data-redis/[Redis], |
|
|
|
https://projects.spring.io/spring-data-redis/[Redis], |
|
|
|
http://projects.spring.io/spring-data-gemfire/[Gemfire], |
|
|
|
https://projects.spring.io/spring-data-gemfire/[Gemfire], |
|
|
|
http://projects.spring.io/spring-data-cassandra/[Cassandra], |
|
|
|
https://projects.spring.io/spring-data-cassandra/[Cassandra], |
|
|
|
http://projects.spring.io/spring-data-couchbase/[Couchbase] and |
|
|
|
https://projects.spring.io/spring-data-couchbase/[Couchbase] and |
|
|
|
http://projects.spring.io/spring-data-ldap/[LDAP]. |
|
|
|
https://projects.spring.io/spring-data-ldap/[LDAP]. |
|
|
|
Spring Boot provides auto-configuration for Redis, MongoDB, Neo4j, Elasticsearch, Solr |
|
|
|
Spring Boot provides auto-configuration for Redis, MongoDB, Neo4j, Elasticsearch, Solr |
|
|
|
Cassandra, Couchbase, and LDAP. You can make use of the other projects, but you must |
|
|
|
Cassandra, Couchbase, and LDAP. You can make use of the other projects, but you must |
|
|
|
configure them yourself. Refer to the appropriate reference documentation at |
|
|
|
configure them yourself. Refer to the appropriate reference documentation at |
|
|
|
http://projects.spring.io/spring-data[projects.spring.io/spring-data]. |
|
|
|
https://projects.spring.io/spring-data[projects.spring.io/spring-data]. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -3861,7 +3861,7 @@ in the following example: |
|
|
|
TIP: You can customize document scanning locations by using the `@EntityScan` annotation. |
|
|
|
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 |
|
|
|
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]. |
|
|
|
documentation]. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -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 |
|
|
|
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 |
|
|
|
documentation]. |
|
|
|
documentation]. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -4025,7 +4025,7 @@ documentation]. |
|
|
|
=== Gemfire |
|
|
|
=== Gemfire |
|
|
|
https://github.com/spring-projects/spring-data-gemfire[Spring Data Gemfire] provides |
|
|
|
https://github.com/spring-projects/spring-data-gemfire[Spring Data Gemfire] provides |
|
|
|
convenient Spring-friendly tools for accessing the |
|
|
|
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 |
|
|
|
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 |
|
|
|
dependencies in a convenient way. There is currently no auto-configuration support for |
|
|
|
Gemfire, but you can enable Spring Data Repositories with a |
|
|
|
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 |
|
|
|
`@SolrDocument` class rather than a JPA `@Entity`, it works in the same way. |
|
|
|
`@SolrDocument` class rather than a JPA `@Entity`, it works in the same way. |
|
|
|
|
|
|
|
|
|
|
|
TIP: For complete details of Spring Data Solr, refer to the |
|
|
|
TIP: For complete details of Spring Data Solr, refer to the |
|
|
|
http://projects.spring.io/spring-data-solr/[reference documentation]. |
|
|
|
https://projects.spring.io/spring-data-solr/[reference documentation]. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -4169,7 +4169,7 @@ now an Elasticsearch `@Document` class rather than a JPA `@Entity`, it works in |
|
|
|
way. |
|
|
|
way. |
|
|
|
|
|
|
|
|
|
|
|
TIP: For complete details of Spring Data Elasticsearch, refer to the |
|
|
|
TIP: For complete details of Spring Data Elasticsearch, refer to the |
|
|
|
http://docs.spring.io/spring-data/elasticsearch/docs/[reference documentation]. |
|
|
|
https://docs.spring.io/spring-data/elasticsearch/docs/[reference documentation]. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -4227,7 +4227,7 @@ limited than the JPA repositories discussed earlier and needs to annotate finder |
|
|
|
with `@Query`. |
|
|
|
with `@Query`. |
|
|
|
|
|
|
|
|
|
|
|
TIP: For complete details of Spring Data Cassandra, refer to the |
|
|
|
TIP: For complete details of Spring Data Cassandra, refer to the |
|
|
|
http://docs.spring.io/spring-data/cassandra/docs/[reference documentation]. |
|
|
|
https://docs.spring.io/spring-data/cassandra/docs/[reference documentation]. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -4283,7 +4283,7 @@ Check the `spring.couchbase.env.*` properties for more details. |
|
|
|
==== Spring Data Couchbase Repositories |
|
|
|
==== Spring Data Couchbase Repositories |
|
|
|
Spring Data includes repository support for Couchbase. For complete details of Spring |
|
|
|
Spring Data includes repository support for Couchbase. For complete details of Spring |
|
|
|
Data Couchbase, refer to the |
|
|
|
Data Couchbase, refer to the |
|
|
|
http://docs.spring.io/spring-data/couchbase/docs/current/reference/html/[reference |
|
|
|
https://docs.spring.io/spring-data/couchbase/docs/current/reference/html/[reference |
|
|
|
documentation]. |
|
|
|
documentation]. |
|
|
|
|
|
|
|
|
|
|
|
You can inject an auto-configured `CouchbaseTemplate` instance as you would with any |
|
|
|
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` |
|
|
|
==== Spring Data LDAP Repositories |
|
|
|
==== Spring Data LDAP Repositories |
|
|
|
Spring Data includes repository support for LDAP. For complete details of Spring |
|
|
|
Spring Data includes repository support for LDAP. For complete details of Spring |
|
|
|
Data LDAP, refer to the |
|
|
|
Data LDAP, refer to the |
|
|
|
http://docs.spring.io/spring-data/ldap/docs/1.0.x/reference/html/[reference |
|
|
|
https://docs.spring.io/spring-data/ldap/docs/1.0.x/reference/html/[reference |
|
|
|
documentation]. |
|
|
|
documentation]. |
|
|
|
|
|
|
|
|
|
|
|
You can also inject an auto-configured `LdapTemplate` instance as you would with any |
|
|
|
You can also inject an auto-configured `LdapTemplate` instance as you would with any |
|
|
|
@ -5087,7 +5087,7 @@ See {sc-spring-boot-autoconfigure}/amqp/RabbitProperties.{sc-ext}[`RabbitPropert |
|
|
|
for more of the supported options. |
|
|
|
for more of the supported options. |
|
|
|
|
|
|
|
|
|
|
|
TIP: See |
|
|
|
TIP: See |
|
|
|
http://spring.io/blog/2010/06/14/understanding-amqp-the-protocol-used-by-rabbitmq/[Understanding |
|
|
|
https://spring.io/blog/2010/06/14/understanding-amqp-the-protocol-used-by-rabbitmq/[Understanding |
|
|
|
AMQP, the protocol used by RabbitMQ] for more details. |
|
|
|
AMQP, the protocol used by RabbitMQ] for more details. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|