Spring Boot 2.2.0.RELEASE 正式发布 带来了大量新特性 支持Java 13
翻译自 Spring Boot 官方博客最新消息。
谨代表Spring Boot团队和所有参与的人员,宣布Spring Boot 2.2.0已发布,现在可以从spring repo,Maven Central
和Bintray
进行访问。此版本增加了大量新功能和改进。有关完整的升级说明以及新的和值得注意的功能,请参阅发行说明。
2.2的新功能
依赖升级
Spring Boot 2.2以下Spring依赖升级到了新的版本:
Spring AMQP 2.2
Spring Batch 4.2
Spring Data Moore
Spring Framework 5.2
Spring HATEOAS 1.0
Spring Integration 5.2
Spring Kafka 2.3
Spring Security 5.2
Spring Session Corn
我们还尽可能地升级到其他第三方库的最新稳定版本。此版本中一些较显着的第三方依赖项升级包括:
Elasticsearch 6.7
Flyway 6.0
Jackson 2.10
JUnit 5.5
Micrometer 1.3
Reactor Dysprosium
Solr 8.0
性能提升
作为我们不断提高性能的努力的一部分,我们在Spring Boot 2.2的基础上,在2.1的基础上取得了一些重大进展。现在,应用程序启动速度更快,并且消耗的内存更少。这在具有非常严格的内存约束的环境中特别有用。
延迟初始化
现在可以通过该spring.main.lazy-initialization
属性启用全局延迟初始化以减少启动时间。请注意,使用此功能可能存在一些成本:
在进行任何延迟的初始化时,HTTP请求的处理可能需要更长的时间
现在,通常不会在启动时发生故障的时间将延后
请参阅此博客文章,以更广泛地讨论新功能,以及有关何时应该启用和不应该启用该功能的一些指导。
Java 13支持
从Spring Framework 5.2对Java 13的支持开始,Spring Boot 2.2现在也支持Java 13, 同时与Java 11和Java 8依然兼容。
@ConfigurationProperties 对不可变属性绑定的支持
配置属性现在支持基于构造函数的绑定,该绑定允许带@ConfigurationProperties
注解的类不可变。可以通过在一个配置类或其某个构造函数注解一个@ConfigurationProperties
来启用基于构造函数的绑定@ConstructorBinding
。而且@DefaultValue
@DateTimeFormat
可以在配置属性绑定提供的构造函数参数上使用。
请参阅参考文档的相关部分以获取更多详细信息。
RSocket支持
Spring Boot也对之前我介绍的 RSocket添加了新的相关组件spring-boot-starter-rsocket
。当spring-security-rsocket
在类路径上时,Spring Security 的 RSocket 集成也会自动配置。请参阅参考文档的相关部分以获取更多详细信息。
应用健康指标分组
现在可以将Spring Boot应用健康的指标分组。如果将应用程序部署到Kubernetes,一个典型的需求是您可能需要不同健康指标分组的来区分“活动”和“就绪”之类的指标 。
可以通过配置属性来配置组。以下创建仅具有DataSource
指示器的自定义组:
management.endpoint.health.group.custom.include=db
然后可以通过端点/actuator/health/custom
来调用自定义组。有关更多详细信息,请查看更新的参考文档。
其他变化
发行说明中还记录了许多其他更改和改进。您还可以找到我们计划在下一版本中删除的不推荐使用的类和方法的列表。