本月(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)

期待您的关注

本月16日SpringBoot2.2发布,有哪些变化先知晓的更多相关文章

  1. Ubuntu 16.04 LTS今日发布

    Ubuntu 16.04 LTS今日发布 Ubuntu16.04 LTS 发布日期已正式确定为 2016 年 4 月 21 日,代号为 Xenial Xerus.Ubuntu16.04 将是非常受欢迎 ...

  2. 9月16日,base 福州,2018MAD技术论坛邀您一起探讨最前沿AR技术!

    “ 人工智能新一波浪潮带动了语音.AR等技术的快速发展,随着智能手机和智能设备的普及,人机交互的方式也变得越来越自然. 9月16日,由网龙网络公司.msup联合主办的MAD技术论坛将在福州举行.本次论 ...

  3. 11月16日《奥威Power-BI基于SQL的存储过程及自定义SQL脚本制作报表》腾讯课堂开课啦

           上周的课程<奥威Power-BI vs微软Power BI>带同学们全面认识了两个Power-BI的使用情况,同学们已经迫不及待想知道这周的学习内容了吧!这周的课程关键词—— ...

  4. 2016年12月16日 星期五 --出埃及记 Exodus 21:11

    2016年12月16日 星期五 --出埃及记 Exodus 21:11 If he does not provide her with these three things, she is to go ...

  5. 2016年11月16日 星期三 --出埃及记 Exodus 20:7

    2016年11月16日 星期三 --出埃及记 Exodus 20:7 "You shall not misuse the name of the LORD your God, for the ...

  6. 2016年10月16日 星期日 --出埃及记 Exodus 18:27

    2016年10月16日 星期日 --出埃及记 Exodus 18:27 Then Moses sent his father-in-law on his way, and Jethro returne ...

  7. 12月16日广州.NET俱乐部下午4点爬白云山活动

    正如我们在<广州.NET微软技术俱乐部与其他技术群的区别>和<广州.NET微软技术俱乐部每周三五晚周日下午爬白云山活动>里面提到的, 我们会在每周三五晚和周日下午爬白云山.   ...

  8. 成都Uber优步司机奖励政策(4月16日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  9. 北京Uber优步司机奖励政策(4月16日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

随机推荐

  1. Mybatis多数据源读写分离(注解实现)

    #### Mybatis多数据源读写分离(注解实现) ------ 首先需要建立两个库进行测试,我这里使用的是master_test和slave_test两个库,两张库都有一张同样的表(偷懒,喜喜), ...

  2. Spring Cloud异步场景分布式事务怎样做?试试RocketMQ

    一.背景 在微服务架构中,我们常常使用异步化的手段来提升系统的 吞吐量 和 解耦 上下游,而构建异步架构最常用的手段就是使用 消息队列(MQ),那异步架构怎样才能实现数据一致性呢?本文主要介绍如何使用 ...

  3. [AWS] EC2 & GPU

    Amazon Elastic Compute Cloud (Amazon EC2) EC 2的使用 机型的选择 经验谈 Ref: Amazon EC2 实例类型 实践派 搭建网站:MediaWiki ...

  4. mysql创建表时字段类型选择与优化

    一.选择原则 1.应该尽量使用可以正确存储数据的最小字段类型 2.选用简单的数据类型,例如:一个是尽量用mysql内置的字段类型来存储日期和时间:另一个存储IP地址尽量用整型:能用整型的尽量不用字符串 ...

  5. 关于canvas合成分享图

    最近在uni-app项目中遇到一个合成分享图的需求,其实最开始是用原生写法来做的,后台发现在PC端测试是可以的,但在APP模拟器中会出现问题,可能是因为两者的js环境不同吧,uni-app官网也说了这 ...

  6. git基本命令整合

    基础命令 用户设置 $ git config --global user.name "Your Name" $ git config --global user.email &qu ...

  7. windows下python和pycharm安装及其使用

    1.python安装及环境变量配置 1.1 python安装 1.1.1 python下载 官网下载:https://www.python.org/ Downloads-Windows(Mac os ...

  8. sbt 学习笔记(1)sbt安装和交互式界面使用

    下载sbt: http://www.scala-sbt.org/download.html 解压zip文件F:\sbt-0.13.15 配置环境变量 如果需要可以修改F:\sbt-0.13.15\sb ...

  9. WKWebView针对于Cordova的IOS平台性能提升

    使用cordova做跨平台开发已久,针对于Android的性能与页面渲染问题仍然让人头疼,因为仍然有一部分人使用性能一般的手机,版本在 4.2-4.4之间,甚至都无法支持HTML5的flex布局,使得 ...

  10. 【实战】 elasticsearch 写入速度提升的案例分享

    文章首发投稿至InfoQ,[侠梦的开发笔记]公众号,欢迎关注 https://www.infoq.cn/article/t7b52mbzxqkwrrdpVqD2 基本配置 基本配置,5台配置为 24C ...