SpringBoot2.1.2默认线程池
SpringBoot2.1.2 中默认有两出会开启线程池
org.springframework.boot.autoconfigure.task.TaskExecutionAutoConfiguration
创建Bean org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor
org.springframework.boot.autoconfigure.task.TaskSchedulingAutoConfiguration
创建Bean org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler
这两个Bean都实现了org.springframework.core.task.AsyncListenableTaskExecutor和
org.springframework.scheduling.SchedulingTaskExecutor, 所以程序中不能通过这两个类型及其父类类型注入bean
移除SpringBoot2.0中废弃的类,方法,属性
在Springboot2.0中标记的废弃的类,方法,属性,在SpringBoot2.1中已经被移除.
Bean 覆盖默认被禁用
默认情况下禁用Bean覆盖以防止意外覆盖bean,可以通过属性spring.main.allow-bean-definition-overriding=true开启该功能
公开Actuator的“info”和“health”端点
如果spring-security模块在类路径上并没有手动配置security配置,/info和/health是公开可访问的,
Servlet Path配置属性改变
server.servlet.path属性变成spring.mvc.servlet.path
ActiveMQ Pooling改变
移除了activemq-pool并使用pooled-jms替代,pooled-jms提供了和activemq-pool相同的功能,并且符合JMS2.0的规范,maven依赖如下:
<dependency>
<groupId>org.messaginghub</groupId>
<artifactId>pooled-jms</artifactId>
</dependency>
HttpPutFormContentFilter被弃用
HttpPutFormContentFilter被弃用并使用FormContentFilter替代,因此属性
spring.mvc.formcontent.putfilter.enabled不再被使用,可以通过属性
spring.mvc.formcontent.filter.enabled替代
Spring Version POM Property
spring-boot-dependencies模块的POM中定义的<spring.version>属性变成<spring-framework.version>属性
json-simple模块被移除
json-simple模块的依赖管理不再提供,并且依赖该模块的JsonParser实现类被移除。
JpaProperties
Hibernate-specific属性已经从JpaProperties移到HibernateProperties类中,如果使用
JpaProperties.getHibernateProperties(HibernateSettings) 应该同时注入HibernateProperties和JpaProperties
第三方库更新
Tomcat 9
Undertow 2
Hibernate 5.3
JUnit 5.2
Micrometer 1.1
支持Java11
SpringBoot2.1 兼容Java8,同时也支持了Java11
属性配置支持DataSize类型
如果属性需要以字节或类似的方便单位表示大小,则可以使用org.springframework.util.unit.DataSize属性,例如: file.size=10M 可以转成DataSize成员属性
Kafka Streams自动配置
SpringBoot2.1为kafa streams提供了自动配置参考文档: https://docs.spring.io/spring-boot/docs/2.1.0.RELEASE/reference/htmlsingle/#boot-features-kafka-streams
JMS ConnectionFactory Caching
自动配置的ConnectionFactory默认将会使用CachingConnectionFactory缓存, 可以使用属性spring.jms.cache.enabled=false关闭,当使用池化操作时也会关闭。池化相关属性key为
spring.jms.artemis.pool.*
OAuth2 WebFlux Support
WebFlux模块支持Oauth2认证
OAuth2 resource server support
只要类路径上有spring-security-oauth2-resource-server模块,并且设置了JWK Set URI,Spring Boot就可以设置OAuth2资源服务器。例如:
spring.security.oauth2.resource.jwt.jwk.set-uri =
https://example.com/oauth2/default/v1/keys
Spring Boot 2.1中废弃的部分
1、setConnectTimeout(int)和setReadTimeout(int)已被弃用以支持类似的方法Duration。
2、management.endpoints.jmx.unique-names废弃,使用 spring.jmx.unique-names替代
3、@AutoConfigureMockMvc中的secure属性已被弃用,使Spring Security的@WithMockUser注解。
4、RestTemplateBuilder.basicAuthorization废弃,使用basicAuthentication替代。
5、在AbstractFilterRegistrationBean和FilterRegistrationBean中的常量
REQUEST_WRAPPER_FILTER_MAX_ORDER被
OrderedFilter.REQUEST_WRAPPER_FILTER_MAX_ORDER替代
配置属性变化
1、spring.security.oauth2.client.registration.login.*.redirect-uri-template 属性废弃,由
spring.security.oauth2.client.registration.login.*.redirect-uri 替代
- spring.security.oauth2.resource.jwt.jwk.set-uri 重命名为
spring.security.oauth2.resourceserver.jwt.jwk-set-uri
- spring.cloud.enabled属性被移除
- 所有的management.metrics.binders.*.enabled属性被移除有利于直接移除自动配置