Spring Boot 2.2.0
谨代表Spring Boot团队和所有参与的人员,宣布Spring Boot 2.2.0已发布,现在可以从repo.spring.io , Maven Central和Bintray进行访问 。此版本增加了大量新功能和改进。有关完整的升级说明以及新的和值得注意的功能,请参阅发行说明 。
2.2的新功能
依赖升级
Spring Boot 2.2移至几个Spring项目的新版本:
- Spring AMQP 2.2
- Spring Batch次4.2
- Spring Data 摩尔
- Spring Framework 5.2
- Spring HATEOAS 1.0
- Spring Integration 5.2
- Spring Kafka 2.3
- Spring Security 5.2
- Spring 会议玉米
我们还尽可能地升级到了其他第三方库的最新稳定版本。此版本中一些较显着的第三方依赖项升级包括:
- Elasticsearch 6.7
- 飞路6.0
- 杰克逊2.10
- JUnit 5.5
- 千分尺1.3
- 反应堆Dy
- 索尔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和8兼容。
一成不变@ConfigurationProperties
捆绑
配置属性现在支持基于构造函数的绑定,该绑定允许@ConfigurationProperties
-带注释的类是不可变的。基于构造函数的绑定可以通过以下方式启用: @ConfigurationProperties
类或其构造函数之一@ConstructorBinding
。诸如@DefaultValue
和@DateTimeFormat
可以在配置属性绑定提供的构造函数参数上使用。
请参阅参考文档的相关部分以获取更多详细信息。
RSocket支持
已为RSocket添加了广泛的自动配置功能以及新的启动程序, spring-boot-starter-rsocket
。Spring Security的RSocket集成也会在以下情况下自动配置spring-security-rsocket
在类路径上。请参阅参考文档的相关部分以获取更多详细信息。
健康指标组
现在可以将健康指标分组。如果将应用程序部署到Kubernetes,一个典型示例就是您可能需要不同组的健康指标来进行“活动”和“就绪”探测。
可以通过配置属性来配置组。以下创建仅具有DataSource指示器的自定义组:
management.endpoint.health.group.custom.include=db
可以通过点击localhost:8080 / actuator / health / custom来调用自定义组。有关更多详细信息,请查看更新的参考文档 。
其他变化
发行说明中还记录了许多其他更改和改进。您还可以找到我们计划在下一版本中删除的不推荐使用的类和方法的列表。
谢谢
我们想借此机会再次感谢所有用户和贡献者。现在,我们已经有600多人提交了代码,并且对该项目进行了超过23000次提交 。
如果您想提供帮助,请查看问题存储库中的“ ideal fortribution”标签 。如果您有一般性问题,请使用以下命令在stackoverflow.com上提问spring-boot
在Gitter上与社区标记或聊天。