Spring Boot 2.2首个里程碑版本发布,改进性能和内存使用
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首个里程碑版本发布,改进性能和内存使用相关推荐
- Spring Boot 2.2 首个里程碑版本 M1 发布
Spring Boot 2.2 首个里程碑版本 M1 已于昨天发布,可从里程碑仓库获取.官方表示该版本关闭了 140 多个 issue 和 PR. 有以下值得关注的更新: 将依赖项 Spring Da ...
- 页面多条件组合查询功能 代码 如何写效率高_Jeecg Boot 2.2 首个里程碑版本发布,低代码平台
项目介绍 JeecgBoot是一款基于代码生成器的低代码开发平台,开源界"小普元"超越传统商业企业开发平台!采用前后端分离架构:SpringBoot 2.x,Ant Design& ...
- Jeecg Boot 2.2 首个里程碑版本发布,基于SpringBoot的低代码平台
项目介绍 JeecgBoot是一款基于代码生成器的低代码开发平台,开源界"小普元"超越传统商业企业开发平台!采用前后端分离架构:SpringBoot 2.x,Ant Design& ...
- JimuReport 1.4.0-beta 里程碑版本发布,免费的低代码报表
项目介绍 积木报表,一款免费的可视化Web报表工具,像搭建积木一样在线拖拽设计!功能涵盖,数据报表.打印设计.图表报表.大屏设计等! 秉承"简单.易用.专业"的产品理念,极大的降低 ...
- 前瞻:Spring Boot 2.4.0 第二个里程碑版本发布
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | https://www.oschina.net ...
- Spring Boot中使用Swagger3.0.0版本构建RESTful APIs
文章目录 一.项目描述 二.简介 三.Swagger2.X和Swagger3.0.0 的对比 1)SpringFox 2.x 发布 2)SpringFox 3.0.0 发布 3)swagger3.0 ...
- 苹果或于明年9月发布电动汽车;10家头部平台紧急下架互联网存款产品;Go 1.16首个Beta版本发布|极客头条...
整理 | 郑丽媛 头图 | CSDN 下载自东方 IC 快来收听极客头条音频版吧,智能播报由出门问问「魔音工坊」提供技术支持. 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「 ...
- Spring Boot 1.0和Spring Boot 1.0.1错误修复版本
Spring Boot团队最近宣布了Spring Boot 1.0版本 ,随后是Spring Boot 1.0.1.RELEASE ,这是一个错误修复版本,其中还包含一些新功能. Spring Boo ...
- 基于Spring Boot 2.5.1 微服务框架发布(Eurynome Cloud )
企业级技术中台微服务架构与服务能力开发平台(Eurynome Cloud ) Eurynome Cloud是一款企业级技术中台微服务架构与服务能力开发平台.基于Spring Boot 2.5.1.Sp ...
最新文章
- 来看看几篇Nature上的GNN吧~
- SAP freelancer如何找到一个不苦逼的项目?
- dslJson、jsoniter、fastjson、jackson解析字符串为map效率比较
- 查看端口被哪个进程占用
- OC HelloWord开始学习 1
- python迭代是什么意思_python中什么是迭代?
- IBM服务器显示系统恢复,苏州数据恢复_IBM X3850服务器数据恢复中处理SAS硬盘故障的恢复案例...
- 毫米波雷达障碍物检测算法介绍
- anaconda成功安装fasttext后,无法导入的情况
- Android 渗透测试学习手册 第二章 准备实验环境
- python 循环输入_python入门(用户输入和while循环)
- mysql not in性能分析_SQL 中的 in 与 not in、exists 与 not exists 的区别以及性能分析...
- linux 双mipii摄像头,Toybrick-开源社区-TB-RK3399ProD-imx258摄像头 mipi 错误
- mysql 服务卸载不干净
- Project(7)——收货地址 - 增加
- 富文本编辑器上传图片不显示问题
- Redis(九)Redis的过期时间操作以及部分常用命令
- 水仙花数的实现(python)
- 顺序表的基本操作(详细、全面)
- javascript设计模式-策略模式(Strategy)
热门文章
- Java集合框架List,Map,Set等全面介绍
- Linux多线程实践(3) --线程属性
- hibernate搭建
- 利用rank() 和 dense_rank() 来实现分类排名
- div+css中命名规范
- JAVA SE学习day_11:集合的相关应用、增强型for循环、foreach方法、数组与集合的相互转换
- Kali Linux修改桌面默认图标
- 使用Metasploit工作区
- Wireshark网络分析实例集锦(大学霸内部资料)
- python appium 并行多设备_学会使用python启动多个appium server,然后获取多台设备的driver...