本月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支持
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节》
- 本文转载注明出处(必须带连接,不能只转文字):字母哥博客。
本月16日SpringBoot2.2发布,有哪些变化先知晓的更多相关文章
- Ubuntu 16.04 LTS今日发布
Ubuntu 16.04 LTS今日发布 Ubuntu16.04 LTS 发布日期已正式确定为 2016 年 4 月 21 日,代号为 Xenial Xerus.Ubuntu16.04 将是非常受欢迎 ...
- 9月16日,base 福州,2018MAD技术论坛邀您一起探讨最前沿AR技术!
“ 人工智能新一波浪潮带动了语音.AR等技术的快速发展,随着智能手机和智能设备的普及,人机交互的方式也变得越来越自然. 9月16日,由网龙网络公司.msup联合主办的MAD技术论坛将在福州举行.本次论 ...
- 11月16日《奥威Power-BI基于SQL的存储过程及自定义SQL脚本制作报表》腾讯课堂开课啦
上周的课程<奥威Power-BI vs微软Power BI>带同学们全面认识了两个Power-BI的使用情况,同学们已经迫不及待想知道这周的学习内容了吧!这周的课程关键词—— ...
- 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 ...
- 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 ...
- 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 ...
- 12月16日广州.NET俱乐部下午4点爬白云山活动
正如我们在<广州.NET微软技术俱乐部与其他技术群的区别>和<广州.NET微软技术俱乐部每周三五晚周日下午爬白云山活动>里面提到的, 我们会在每周三五晚和周日下午爬白云山. ...
- 成都Uber优步司机奖励政策(4月16日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- 北京Uber优步司机奖励政策(4月16日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
随机推荐
- Spark的Java开发环境构建
为开发和调试SPark应用程序设置的完整的开发环境.这里,我们将使用Java,其实SPark还支持使用Scala, Python和R.我们将使用IntelliJ作为IDE,因为我们对于eclipse再 ...
- 引用极光jar包之后出现控制台日志打印不出来的问题。解决!
由于极光的jar包中引用的有log4j,项目本身也引用有log4j,如果版本有冲突,则会出现控制台日志记录打印不出来的现象.解决:引用极光jar包的时候,排除log4j. <dependency ...
- C语言入门-字符串
还是要继续学习,每天给自己打气. 字符数组 char word[] = {'H','e','l','l','o'}; 这不是c语言的字符串,不能用字符串的方式做计算 一.字符串 char word[] ...
- Ocelot自定义管道中间件
Ocelot是啥就不介绍了哈,网关大家都知道,如果大家看过源码会发现其核心就是由一个个的管道中间件组成的,当然这也是Net Core的亮点之一.一个请求到来,会按照中间件的注册顺序进行处理,今天的问题 ...
- linux系统下使用xampp 丢失mysql root密码 只能远程访问,本地无法连接数据库
如果在ubuntu 下面 使用xampp这个集成开发环境,却忘记mysql密码. 当出现只能远程访问的,本地无法访问,通常是host改成% 远程访问,本地访问到一个是空壳.这是权限的问题 需要修hos ...
- Yii2 前后台登陆退出分离、登陆验证
这里用的yii2高级模板, 基本模板的配置文件在一个文件里,方法基本没什么区别, 1.用户表要有两个用户表, 当然一个也行,分开是省得麻烦,既然是分离了就彻底分开, 前台表user,后台表user_b ...
- CSS技巧 (2) · 多列等高布局
前言 最近,面试的时候都碰到一些关于利用CSS实现多列等高布局或者一侧宽度固定,另一侧宽度自适应的问题,下面稍微总结一下: 先看一道题目 巧妙的多列等高布局 规定下面的布局,实现多列等高布局,要求两 ...
- MySQL 和 Navicat Premium 下载及安装全过程
前言: 我对 “MySQL社区版” 的理解是:它只是一个后台服务,它的管理需要用到其他的数据库管理软件,这里我用的是 Navicat Premium,这个软件可以同时为多个数据库提供管理,比如MySQ ...
- 一文了解 Redis 内存监控和内存消耗
Redis 是一种内存数据库,将数据保存在内存中,读写效率要比传统的将数据保存在磁盘上的数据库要快很多.所以,监控 Redis 的内存消耗并了解 Redis 内存模型对高效并长期稳定使用 Redis ...
- ES6 —— entries(),keys()和values()
ES6 提供三个新的方法 —— entries(),keys()和values() —— 用于遍历数组.它们都返回一个遍历器对象,可以用for...of循环进行遍历,唯一的区别是keys()是对键名的 ...