本月16日SpringBoot2.2发布,有哪些变化先知晓

夏侯
• 阅读 2280

本月16日SpringBoot2.2发布,有哪些变化先知晓

本月(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支持

本月16日SpringBoot2.2发布,有哪些变化先知晓

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

本月16日SpringBoot2.2发布,有哪些变化先知晓

六、 依赖升级

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)

期待您的关注

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
4年前
java面试中被问到的问题
 技术面1) Spring 的注解有哪些?2) 你如何理解 spring IOC 技术,如果不使用spring,你有哪些方式来加载 bean?3) spring aop 的原理是什么?它是怎样一个写法?关键配置项是什么?4) springmvc 的注解有哪些?@ModelAttribute 重点提及
Wesley13 Wesley13
4年前
java第四次上机作业
编写“电费管理类”及其测试类。第一步编写“电费管理”类私有属性:上月电表读数、本月电表读数构造方法:无参、2个参数成员方法:getXXX()方法、setXXX()方法成员方法:显示上月、本月电表读数第二步编写测试类创建对象一:上月电表读数为1000,本月
梦
5年前
微信小程序new Date()转换时间异常问题
微信小程序苹果手机页面上显示时间异常,安卓机正常问题image(https://imghelloworld.osscnbeijing.aliyuncs.com/imgs/b691e1230e2f15efbd81fe11ef734d4f.png)错误代码vardate'2021030617:00:00'vardateT
Stella981 Stella981
4年前
2019年10月Github上最热门的开源项目
!(https://oscimg.oschina.net/oscnet/d0c6dec2d88f475d9830e051bdc6b1de.gif)10月份GitHub上最热门的开源项目排行已经出炉啦,在本月的名单中,有开源书籍、有开源课程等,下面就是本月上榜的10个开源项目:1Anime4Khttps://g
Wesley13 Wesley13
4年前
4月数据库流行度排行出炉:MySQL 成事实王者
2020年4月DBEngines数据库流行度排行出炉。在本月的排行榜上,Oracle较上月微涨4.78分,MySQL微涨8.62分,甲骨文公司成为最大赢家。而微软的两个产品MicrosoftSQLServer下降14.43分,MicrosoftAccess下降3.22分,微软成数据库本月的最大输家。!1.jpg(ht
可莉 可莉
4年前
2019年10月Github上最热门的开源项目
!(https://oscimg.oschina.net/oscnet/d0c6dec2d88f475d9830e051bdc6b1de.gif)10月份GitHub上最热门的开源项目排行已经出炉啦,在本月的名单中,有开源书籍、有开源课程等,下面就是本月上榜的10个开源项目:1Anime4Khttps://g
Wesley13 Wesley13
4年前
mysql 查询本月、本周、今日、昨日数据
created\_at类型为  timestamp\SELECTCOUNT(1) FROMlara\_ordersWHERE MONTHNAME(created\_at)MONTHNAME(NOW())\SELECTCOUNT(\) FROMlara\_ordersWHERE WEEK(created\_at)
Stella981 Stella981
4年前
Android蓝牙连接汽车OBD设备
//设备连接public class BluetoothConnect implements Runnable {    private static final UUID CONNECT_UUID  UUID.fromString("0000110100001000800000805F9B34FB");
Stella981 Stella981
4年前
34条我能告诉你的Vue之实操篇
这是我学习整理的关于Vue.js系列文章的第一篇,另外还有两篇分别是关于优化和原理的。希望读完这3篇文章,你能对Vue有个更深入的认识。7种组件通信方式随你选组件通信是Vue的核心知识,掌握这几个知识点,面试开发一点问题都没有。props/@on$emit用于实现父子组件间通信。通过
JDK8升级JDK11最全实践干货来了
1、前言截至目前(2023年),Java8发布至今已有9年,2018年9月25日,Oracle发布了Java11,这是Java8之后的首个LTS版本。那么从JDK8到JDK11,到底带来了哪些特性呢?值得我们升级吗?而且升级过程会遇到哪些问题呢?带着这些问