本月2019年10月16日Spring Boot 2.2已经正式发布了!在此篇文章中将给大家介绍一下2.2版为大家带来了哪些重要的新变化。笔者用心书写希望阅读完成之后转发关注你的支持是我不竭的创作动力
一、Spring bean全局延迟初始化配置
Spring Boot 2.2引入的一项新功能是全局延迟bean初始化的支持默认情况下此功能处于禁用状态。那么如果启用全局延迟bean初始化时会如何
- 所有Spring Bean及其依赖项的初始化只有当他们被使用到的时候才被创建。
为了减少应用程序的初始化过程和启动时间您现在可以使用以下的属性配置启用全局延迟初始化Spring bean
spring.main.lazy.initialization=true
但是全局延迟初始化的缺点是显而易见的在进行任何延迟的初始化时HTTP请求的第一次处理可能需要更长的时间。后续请求不受影响。所以应该谨慎使用。如果您不想在全局范围内使用延迟初始化Spring Bean则可以考虑使用@Lazy注释为特定bean配置延迟初始化。
二、默认情况下禁用JMX
从Spring Boot 2.2开始默认情况下禁用JMX。这有助于缩短应用程序的启动时间并且不会在运行时浪费大量资源。如果您依赖JMX则可以再次启用它
spring.jmx.enabled=true
三、被@ConfigurationProperties注解的类被初始化为bean
Spring Boot将为每个@ConfigurationProperties通过类路径扫描发现的配置类创建一个Bean。在之前版本的开发过程中如果我们希望配置类被初始化为一个bean ,则需要在配置类上使用@Component注解使其成为bean。现在不需要了只需要一个@ConfigurationProperties注解。
注意如果两个注解都用被注解的类可能会创建两个bean所以请把@Component注解移除掉。不要两个一起用。
四、Java 13支持
Java 13于2019年9月17日正式发布了。
Spring Framework 5.2和Spring Boot 2.2也支持Java13。LTS Java版本8和11将与Spring Boot 2.2保持兼容。
五、配置键更改
Spring Boot 2.2引入了许多新的配置。还有一些不推荐使用和被删除的配置。比较重要的更改是
- logging.file属性已重命名为logging.file.name
- logging.path属性已重命名为logging.file.path
六、 依赖升级
Spring Boot 2.2附带了许多依赖项升级。
与Spring相关的依赖项升级
- Spring Framework 5.2.0
- Spring AMQP 2.2.0
- Spring Batch 4.2.0
- Spring Data Moore RELEASE
- Spring HATEOAS 1.0.0
- Spring Integration 5.2.0
- Spring Kafka 2.3.0
- Spring Security 5.2.0
- Spring Session Corn
其他最重要的依赖项升级
- Elasticsearch 6.8.3(see breaking changes: in6.5,6.6and6.7)
- Flyway 6.0.6
- HSQLDB 2.5.0
- Jackson 2.10.0
- Jersey 2.29.1
- Kafka 2.3.0
- Kotlin 1.3.50
- Lombok 1.18.10
- Micrometer 1.3
- Netty 4.1.42
- Reactor Dysprosium
- Solr 8.2.0
- Tomcat 9.0.27
测试依赖项升级
- AssertJ 3.13.2(breaking changes)
- Hamcrest 2.1
- Mockito 3.1.0
- Junit 5.5.2(JUnit 5’s vintage engine still support existing JUnit 4-based test classes so no breaking changes here)
期待您的关注
- 博主最近新写了一本书《手摸手教您学习SpringBoot系列-16章97节》
- 本文转载注明出处必须带连接不能只转文字字母哥博客。