Start building against Spring Framework 5 snapshot
This commit enables compatibility build against Spring Framework 5. The Velocity and Guava support that are deprecated in the 1.x line have been removed and few other classes contain minor change to comply to non backward compatible changes in Spring Framework 5. This commit also switches the required java version to 8. Closes gh-6977
This commit is contained in:
@@ -71,7 +71,6 @@ content into your application; rather pick only the properties that you need.
|
||||
spring.cache.caffeine.spec= # The spec to use to create caches. Check CaffeineSpec for more details on the spec format.
|
||||
spring.cache.couchbase.expiration=0 # Entry expiration in milliseconds. By default the entries never expire.
|
||||
spring.cache.ehcache.config= # The location of the configuration file to use to initialize EhCache.
|
||||
spring.cache.guava.spec= # The spec to use to create caches. Check CacheBuilderSpec for more details on the spec format.
|
||||
spring.cache.hazelcast.config= # The location of the configuration file to use to initialize Hazelcast.
|
||||
spring.cache.infinispan.config= # The location of the configuration file to use to initialize Infinispan.
|
||||
spring.cache.jcache.config= # The location of the configuration file to use to initialize the cache manager.
|
||||
@@ -406,28 +405,6 @@ content into your application; rather pick only the properties that you need.
|
||||
spring.thymeleaf.template-resolver-order= # Order of the template resolver in the chain.
|
||||
spring.thymeleaf.view-names= # Comma-separated list of view names that can be resolved.
|
||||
|
||||
# VELOCITY TEMPLATES ({sc-spring-boot-autoconfigure}/velocity/VelocityAutoConfiguration.{sc-ext}[VelocityAutoConfiguration])
|
||||
spring.velocity.allow-request-override=false # Set whether HttpServletRequest attributes are allowed to override (hide) controller generated model attributes of the same name.
|
||||
spring.velocity.allow-session-override=false # Set whether HttpSession attributes are allowed to override (hide) controller generated model attributes of the same name.
|
||||
spring.velocity.cache= # Enable template caching.
|
||||
spring.velocity.charset=UTF-8 # Template encoding.
|
||||
spring.velocity.check-template-location=true # Check that the templates location exists.
|
||||
spring.velocity.content-type=text/html # Content-Type value.
|
||||
spring.velocity.date-tool-attribute= # Name of the DateTool helper object to expose in the Velocity context of the view.
|
||||
spring.velocity.enabled=true # Enable MVC view resolution for this technology.
|
||||
spring.velocity.expose-request-attributes=false # Set whether all request attributes should be added to the model prior to merging with the template.
|
||||
spring.velocity.expose-session-attributes=false # Set whether all HttpSession attributes should be added to the model prior to merging with the template.
|
||||
spring.velocity.expose-spring-macro-helpers=true # Set whether to expose a RequestContext for use by Spring's macro library, under the name "springMacroRequestContext".
|
||||
spring.velocity.number-tool-attribute= # Name of the NumberTool helper object to expose in the Velocity context of the view.
|
||||
spring.velocity.prefer-file-system-access=true # Prefer file system access for template loading. File system access enables hot detection of template changes.
|
||||
spring.velocity.prefix= # Prefix that gets prepended to view names when building a URL.
|
||||
spring.velocity.properties.*= # Additional velocity properties.
|
||||
spring.velocity.request-context-attribute= # Name of the RequestContext attribute for all views.
|
||||
spring.velocity.resource-loader-path=classpath:/templates/ # Template path.
|
||||
spring.velocity.suffix=.vm # Suffix that gets appended to view names when building a URL.
|
||||
spring.velocity.toolbox-config-location= # Velocity Toolbox config location. For instance `/WEB-INF/toolbox.xml`
|
||||
spring.velocity.view-names= # White list of view names that can be resolved.
|
||||
|
||||
# SPRING WEB SERVICES ({sc-spring-boot-autoconfigure}/webservices/WebServicesProperties.{sc-ext}[WebServicesProperties])
|
||||
spring.webservices.path=/services # Path that serves as the base URI for the services.
|
||||
spring.webservices.servlet.init= # Servlet init parameters to pass to Spring Web Services.
|
||||
|
||||
@@ -1417,41 +1417,11 @@ added.
|
||||
suffix (externalized to `spring.groovy.template.prefix` and
|
||||
`spring.groovy.template.suffix`, defaults '`classpath:/templates/`' and '`.tpl`'
|
||||
respectively). It can be overridden by providing a bean of the same name.
|
||||
* If you use Velocity you will also have a `VelocityViewResolver` with id '`velocityViewResolver`'.
|
||||
It looks for resources in a loader path (externalized to `spring.velocity.resourceLoaderPath`,
|
||||
default '`classpath:/templates/`') by surrounding the view name with a prefix and suffix
|
||||
(externalized to `spring.velocity.prefix` and `spring.velocity.suffix`, with empty and '`.vm`'
|
||||
defaults respectively). It can be overridden by providing a bean of the same name.
|
||||
|
||||
Check out {sc-spring-boot-autoconfigure}/web/WebMvcAutoConfiguration.{sc-ext}[`WebMvcAutoConfiguration`],
|
||||
{sc-spring-boot-autoconfigure}/thymeleaf/ThymeleafAutoConfiguration.{sc-ext}[`ThymeleafAutoConfiguration`],
|
||||
{sc-spring-boot-autoconfigure}/freemarker/FreeMarkerAutoConfiguration.{sc-ext}[`FreeMarkerAutoConfiguration`],
|
||||
{sc-spring-boot-autoconfigure}/groovy/template/GroovyTemplateAutoConfiguration.{sc-ext}[`GroovyTemplateAutoConfiguration`] and
|
||||
{sc-spring-boot-autoconfigure}/velocity/VelocityAutoConfiguration.{sc-ext}[`VelocityAutoConfiguration`]
|
||||
|
||||
|
||||
|
||||
[[howto-customize-view-resolvers-velocity]]
|
||||
=== Velocity
|
||||
By default, Spring Boot configures a `VelocityViewResolver`. If you need a
|
||||
`VelocityLayoutViewResolver` instead, you can easily configure your own by creating a bean
|
||||
with name `velocityViewResolver`. You can also inject the `VelocityProperties` instance to
|
||||
apply the base defaults to your custom view resolver.
|
||||
|
||||
The following example replaces the auto-configured velocity view resolver with a
|
||||
`VelocityLayoutViewResolver` defining a customized `layoutUrl` and all settings that would
|
||||
have been applied from the auto-configuration:
|
||||
|
||||
[source,java,indent=0,subs="verbatim,quotes,attributes"]
|
||||
----
|
||||
@Bean(name = "velocityViewResolver")
|
||||
public VelocityLayoutViewResolver velocityViewResolver(VelocityProperties properties) {
|
||||
VelocityLayoutViewResolver resolver = new VelocityLayoutViewResolver();
|
||||
properties.applyToViewResolver(resolver);
|
||||
resolver.setLayoutUrl("layout/default.vm");
|
||||
return resolver;
|
||||
}
|
||||
----
|
||||
{sc-spring-boot-autoconfigure}/groovy/template/GroovyTemplateAutoConfiguration.{sc-ext}[`GroovyTemplateAutoConfiguration`]
|
||||
|
||||
|
||||
|
||||
@@ -2370,14 +2340,6 @@ for other Groovy customization options.
|
||||
|
||||
|
||||
|
||||
[[howto-reload-velocity-content]]
|
||||
==== Velocity templates
|
||||
If you are using Velocity, then set `spring.velocity.cache` to `false`. See
|
||||
{sc-spring-boot-autoconfigure}/velocity/VelocityAutoConfiguration.{sc-ext}[`VelocityAutoConfiguration`]
|
||||
for other Velocity customization options.
|
||||
|
||||
|
||||
|
||||
[[howto-reload-fast-restart]]
|
||||
=== Fast application restarts
|
||||
The `spring-boot-devtools` module includes support for automatic application restarts.
|
||||
|
||||
@@ -1067,7 +1067,7 @@ is prefixed by the name of the `CacheManager` bean.
|
||||
|
||||
It is possible to override part or all of those defaults by registering a bean with a
|
||||
customized version of `CachePublicMetrics`. By default, Spring Boot provides cache
|
||||
statistics for EhCache, Hazelcast, Infinispan, JCache and Guava. You can add additional
|
||||
statistics for EhCache, Hazelcast, Infinispan, JCache and Caffeine. You can add additional
|
||||
`CacheStatisticsProvider` beans if your favorite caching library isn't supported out of
|
||||
the box. See `CacheStatisticsAutoConfiguration` for examples.
|
||||
|
||||
|
||||
@@ -1774,7 +1774,7 @@ solution for all static resources, effectively adding a content hash in URLs, su
|
||||
----
|
||||
|
||||
NOTE: Links to resources are rewritten at runtime in template, thanks to a
|
||||
`ResourceUrlEncodingFilter`, auto-configured for Thymeleaf, Velocity and FreeMarker. You
|
||||
`ResourceUrlEncodingFilter`, auto-configured for Thymeleaf and FreeMarker. You
|
||||
should manually declare this filter when using JSPs. Other template engines aren't
|
||||
automatically supported right now, but can be with custom template macros/helpers and the
|
||||
use of the
|
||||
@@ -1821,7 +1821,7 @@ will automatically configure Spring MVC to use it.
|
||||
[[boot-features-spring-mvc-template-engines]]
|
||||
==== Template engines
|
||||
As well as REST web services, you can also use Spring MVC to serve dynamic HTML content.
|
||||
Spring MVC supports a variety of templating technologies including Velocity, FreeMarker
|
||||
Spring MVC supports a variety of templating technologies including FreeMarker
|
||||
and JSPs. Many other templating engines also ship their own Spring MVC integrations.
|
||||
|
||||
Spring Boot includes auto-configuration support for the following templating engines:
|
||||
@@ -1829,7 +1829,6 @@ Spring Boot includes auto-configuration support for the following templating eng
|
||||
* http://freemarker.org/docs/[FreeMarker]
|
||||
* http://docs.groovy-lang.org/docs/next/html/documentation/template-engines.html#_the_markuptemplateengine[Groovy]
|
||||
* http://www.thymeleaf.org[Thymeleaf]
|
||||
* http://velocity.apache.org[Velocity] (deprecated in 1.4)
|
||||
* http://mustache.github.io/[Mustache]
|
||||
|
||||
TIP: JSPs should be avoided if possible, there are several
|
||||
@@ -3799,7 +3798,6 @@ providers (in this order):
|
||||
* <<boot-features-caching-provider-couchbase,Couchbase>>
|
||||
* <<boot-features-caching-provider-redis,Redis>>
|
||||
* <<boot-features-caching-provider-caffeine,Caffeine>>
|
||||
* <<boot-features-caching-provider-guava,Guava>> (deprecated)
|
||||
* <<boot-features-caching-provider-simple,Simple>>
|
||||
|
||||
TIP: It is also possible to _force_ the cache provider to use via the `spring.cache.type`
|
||||
@@ -3992,10 +3990,10 @@ recommend to keep this setting enabled if you create your own `RedisCacheManager
|
||||
|
||||
[[boot-features-caching-provider-caffeine]]
|
||||
==== Caffeine
|
||||
Caffeine is a Java 8 rewrite of Guava’s cache and will supersede the Guava support in
|
||||
Spring Boot 2.0. If Caffeine is present, a `CaffeineCacheManager` is auto-configured.
|
||||
Caches can be created on startup using the `spring.cache.cache-names` property and
|
||||
customized by one of the following (in this order):
|
||||
Caffeine is a Java 8 rewrite of Guava’s cache that supersede the Guava support. If
|
||||
Caffeine is present, a `CaffeineCacheManager` is auto-configured. Caches can be created
|
||||
on startup using the `spring.cache.cache-names` property and customized by one of the
|
||||
following (in this order):
|
||||
|
||||
1. A cache spec defined by `spring.cache.caffeine.spec`
|
||||
2. A `com.github.benmanes.caffeine.cache.CaffeineSpec` bean is defined
|
||||
@@ -4018,33 +4016,6 @@ auto-configuration.
|
||||
|
||||
|
||||
|
||||
[[boot-features-caching-provider-guava]]
|
||||
==== Guava (deprecated)
|
||||
If Guava is present, a `GuavaCacheManager` is auto-configured. Caches can be created
|
||||
on startup using the `spring.cache.cache-names` property and customized by one of the
|
||||
following (in this order):
|
||||
|
||||
1. A cache spec defined by `spring.cache.guava.spec`
|
||||
2. A `com.google.common.cache.CacheBuilderSpec` bean is defined
|
||||
3. A `com.google.common.cache.CacheBuilder` bean is defined
|
||||
|
||||
For instance, the following configuration creates a `foo` and `bar` caches with a maximum
|
||||
size of 500 and a _time to live_ of 10 minutes
|
||||
|
||||
[source,properties,indent=0]
|
||||
----
|
||||
spring.cache.cache-names=foo,bar
|
||||
spring.cache.guava.spec=maximumSize=500,expireAfterAccess=600s
|
||||
----
|
||||
|
||||
Besides, if a `com.google.common.cache.CacheLoader` bean is defined, it is automatically
|
||||
associated to the `GuavaCacheManager`. Since the `CacheLoader` is going to be associated
|
||||
to _all_ caches managed by the cache manager, it must be defined as
|
||||
`CacheLoader<Object, Object>`. Any other generic type will be ignored by the
|
||||
auto-configuration.
|
||||
|
||||
|
||||
|
||||
[[boot-features-caching-provider-simple]]
|
||||
==== Simple
|
||||
If none of these options worked out, a simple implementation using `ConcurrentHashMap`
|
||||
|
||||
Reference in New Issue
Block a user