Spring Boot团队最近发布了2.2.0 M1版本,这是Spring Boot 2.2的首个里程碑版本。它包括性能和内存方面的改进、Kubernetes检测及第三方库更新。该版本解决了140多个问题。

自该版本起,默认情况下将禁用JMX。来自Spring团队的Brian Clozel指出:

“该功能看起来没有得到广泛的应用,并且占用了大量资源,因此,我们正在重新考虑其在2.2系列版本中的默认使用问题。”

其他启动性能改进包括:提供全局延迟初始化、删除冗余JPA扫描、大型配置文件的更快绑定及更高效的bean创建和注入。

全局延迟初始化(通过spring.main.lazy.initialization启用)是2.2版本引入的一个值得注意的新功能,通过延迟所有bean的创建显著地减少启动时间。然而,这需要做出权衡。随着所需bean的初始化,对HTTP资源的初始请求延迟可能会增加,后续请求则不受影响。另一个可能更具风险的权衡是,通常在启动时会发生的任何与bean有关、连接或依赖项错误都会延迟到启动后发生。

通过禁用其他JPA扫描(如:Hibernate)改善了启动性能。Spring Boot已经提供了自己的JPA扫描,因而,所有其他扫描都是冗余,只会使应用程序启动时间变长。

大型配置文件的绑定是在启动时必须要进行的过程,现在明显变快了。这看起来是深受用户欢迎的改变,正如一个Reddit用户指出,对于先前的版本,“……在启动时加载YAML文件(大约5000个属性)需要10秒钟。”

因为bean的创建和注入已经直接影响了启动时间和内存使用,所以,Spring Boot如今在选择创建和注入哪个bean方面变得更加明智。特别是现在只有在actuator被启用和暴露(例如通过HTTP)的情况下,才创建与Spring Boot actuator相关的端点。关于在自动配置中使用bean方面也变得更明智。如果只是部分自动配置使用bean,但总是注入到构造函数中,那么就没必要创建和注入到那些甚至不用的其他部分。具体来说,如今自动配置对依赖bean的使用更加精准。

@ConditionalOnCloudPlatform注解可以通过检测应用程序何时在Kubernetes平台上运行来接收更新。这使得用户或其他框架易于有条件地配置只应用于Kubernetes的功能或实现。

在依赖方面,AssertJ、Mockito、Kafka、Spring HATEOAS及Spring Data是一些升级了的著名第三方库。其他一些依赖项也进行了升级。

Java EE依赖项也有变化。所有Java EE依赖项用等效的Jakarta EE依赖项替换。这是从Java EE到Jakarta EE迁移的一部分,是Eclipse基金会下EE的新名称。

里程碑版本是Spring Boot版本开发周期中的重大事件。它们表明版本正在巩固,并且大多数主要错误和问题已经得到了解决。它们通常预示最终版本即将发布,主要用于微调和润色剩余问题。2.0系列中的过往版本有4到7个里程碑版本。

阅读英文原文:Spring Boot 2.2 Reaches First Milestone Release With Performance and Memory Improvements

Spring Boot 2.2首个里程碑版本发布,改进性能和内存使用相关推荐

  1. Spring Boot 2.2 首个里程碑版本 M1 发布

    Spring Boot 2.2 首个里程碑版本 M1 已于昨天发布,可从里程碑仓库获取.官方表示该版本关闭了 140 多个 issue 和 PR. 有以下值得关注的更新: 将依赖项 Spring Da ...

  2. 页面多条件组合查询功能 代码 如何写效率高_Jeecg Boot 2.2 首个里程碑版本发布,低代码平台

    项目介绍 JeecgBoot是一款基于代码生成器的低代码开发平台,开源界"小普元"超越传统商业企业开发平台!采用前后端分离架构:SpringBoot 2.x,Ant Design& ...

  3. Jeecg Boot 2.2 首个里程碑版本发布,基于SpringBoot的低代码平台

    项目介绍 JeecgBoot是一款基于代码生成器的低代码开发平台,开源界"小普元"超越传统商业企业开发平台!采用前后端分离架构:SpringBoot 2.x,Ant Design& ...

  4. JimuReport 1.4.0-beta 里程碑版本发布,免费的低代码报表

    项目介绍 积木报表,一款免费的可视化Web报表工具,像搭建积木一样在线拖拽设计!功能涵盖,数据报表.打印设计.图表报表.大屏设计等! 秉承"简单.易用.专业"的产品理念,极大的降低 ...

  5. 前瞻:Spring Boot 2.4.0 第二个里程碑版本发布

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | https://www.oschina.net ...

  6. Spring Boot中使用Swagger3.0.0版本构建RESTful APIs

    文章目录 一.项目描述 二.简介 三.Swagger2.X和Swagger3.0.0 的对比 1)SpringFox 2.x 发布 2)SpringFox 3.0.0 发布 3)swagger3.0 ...

  7. ​苹果或于明年9月发布电动汽车;10家头部平台紧急下架互联网存款产品;Go 1.16首个Beta版本发布|极客头条​...

    整理 | 郑丽媛 头图 | CSDN 下载自东方 IC 快来收听极客头条音频版吧,智能播报由出门问问「魔音工坊」提供技术支持. 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「 ...

  8. Spring Boot 1.0和Spring Boot 1.0.1错误修复版本

    Spring Boot团队最近宣布了Spring Boot 1.0版本 ,随后是Spring Boot 1.0.1.RELEASE ,这是一个错误修复版本,其中还包含一些新功能. Spring Boo ...

  9. 基于Spring Boot 2.5.1 微服务框架发布(Eurynome Cloud )

    企业级技术中台微服务架构与服务能力开发平台(Eurynome Cloud ) Eurynome Cloud是一款企业级技术中台微服务架构与服务能力开发平台.基于Spring Boot 2.5.1.Sp ...

最新文章

  1. 来看看几篇Nature上的GNN吧~
  2. SAP freelancer如何找到一个不苦逼的项目?
  3. dslJson、jsoniter、fastjson、jackson解析字符串为map效率比较
  4. 查看端口被哪个进程占用
  5. OC HelloWord开始学习 1
  6. python迭代是什么意思_python中什么是迭代?
  7. IBM服务器显示系统恢复,苏州数据恢复_IBM X3850服务器数据恢复中处理SAS硬盘故障的恢复案例...
  8. 毫米波雷达障碍物检测算法介绍
  9. anaconda成功安装fasttext后,无法导入的情况
  10. Android 渗透测试学习手册 第二章 准备实验环境
  11. python 循环输入_python入门(用户输入和while循环)
  12. mysql not in性能分析_SQL 中的 in 与 not in、exists 与 not exists 的区别以及性能分析...
  13. linux 双mipii摄像头,Toybrick-开源社区-TB-RK3399ProD-imx258摄像头 mipi 错误
  14. mysql 服务卸载不干净
  15. Project(7)——收货地址 - 增加
  16. 富文本编辑器上传图片不显示问题
  17. Redis(九)Redis的过期时间操作以及部分常用命令
  18. 水仙花数的实现(python)
  19. 顺序表的基本操作(详细、全面)
  20. javascript设计模式-策略模式(Strategy)

热门文章

  1. Java集合框架List,Map,Set等全面介绍
  2. Linux多线程实践(3) --线程属性
  3. hibernate搭建
  4. 利用rank() 和 dense_rank() 来实现分类排名
  5. div+css中命名规范
  6. JAVA SE学习day_11:集合的相关应用、增强型for循环、foreach方法、数组与集合的相互转换
  7. Kali Linux修改桌面默认图标
  8. 使用Metasploit工作区
  9. Wireshark网络分析实例集锦(大学霸内部资料)
  10. python appium 并行多设备_学会使用python启动多个appium server,然后获取多台设备的driver...