之前 Spring Boot 2.2没能按时发布,是由于 Spring Framework 5.2 的发布受阻而推迟。这次随着 Spring Framework 5.2.0 成功发布之后,Spring Boot 2.2 也紧跟其后,发布了第一个版本:2.2.0。下面就来一起来看看这个版本都更新了些什么值得我们关注的内容。

组件版本更新

这些Spring框架组件更新了依赖版本:

  • Spring AMQP 2.2
  • Spring Batch 4.2
  • Spring Data Moore
  • Spring Framework 5.2
  • Spring HATEOAS 1.0
  • Spring Integration 5.2
  • Spring Kafka 2.3
  • Spring Security 5.2
  • Spring Session Corn

框架中涉及的第三方包也更新了依赖版本:

  • Elasticsearch 6.7
  • Flyway 6.0
  • Jackson 2.10
  • JUnit 5.5
  • Micrometer 1.3
  • Reactor Dysprosium
  • Solr 8.0

大幅的性能提升

关于Spring Boot的性能问题是我们经常在内容平台上看到吐槽的关键词。这次在Spring Boot 2.2中,针对性能这一点,做了大幅的优化。应用程序的启动速度将变得更快,内存占用也会变得更少。

同时,为了加快应用的启动,还增加一个全局延迟初始化的配置参数spring.main.lazy-initialization,这可以让我们的应用更快的完成启动动作,但是值得注意的是,延迟启动也会有下面这些副作用:

  • 应用在进行延迟初始化的时候,HTTP请求的处理会需要更长的时间
  • 原本可能在启动期出现的错误,将延迟到启动的运行期间出现

Java 13的支持

由于Spring Framework 5.2增加了对Java 13的支持,所以Spring Boot 2.2也自然增加了这一特性。同时,Spring Boot 2.2对于老版本的Java 11、Java 8依然支持良好。所以,对于还在使用Java 8的用户也可以安心的升级使用。

不可变的 @ConfigurationProperties 绑定

配置属性现在支持基于构造函数的绑定,该绑定允许@ConfigurationProperties注解修饰的类是不可变的。可以通过使用@ConstructorBinding注解修饰@ConfigurationProperties类或其构造函数之一来启用基于构造函数的绑定。可以在配置属性绑定提供的构造函数参数上使用@DefaultValue和@DateTimeFormat之类的注释。

更多详细信息参阅文档:https://docs.spring.io/spring-boot/docs/2.2.0.RELEASE/reference/html/spring-boot-features.html#boot-features-external-config-constructor-binding

RSocket 支持

已为RSocket添加了自动化配置的starter实现:spring-boot-starter-rsocket。当项目依赖了spring-security-rsocket的时候,该starter还会自动配置Spring Security对RSocket的集成实现。

更多详细信息参阅文档:https://docs.spring.io/spring-boot/docs/2.2.0.RELEASE/reference/html//spring-boot-features.html#boot-features-rsocket

健康检查的分组支持

现在可以将Spring Boot Actuator中各种各样的健康指标实现分组。如果将应用程序部署到Kubernetes,一个典型的需求是您可能需要不同组的健康指标来进行“liveness”和“readiness”的探测。这个时候,我们就可以通过配置属性来定义不同的分组,比如:下面创建了一个仅具有DataSource指示器的自定义组:

management.endpoint.health.group.custom.include=db

通过访问localhost8080/actuator/health/custom,就可以访问自定义的组了。

更多详细信息参阅文档:https://docs.spring.io/spring-boot/docs/2.2.0.RELEASE/reference/html//production-ready-features.html#health-groups

其他更新

Release Notes中还记录了许多其他更改和改进。读者可以通过下方链接查看更多更新内容:

https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.2-Release-Notes

参考资料

  • Spring Boot 2.2.0

Spring Boot 2.2 正式发布,大幅性能提升 + Java 13 支持相关推荐

  1. Spring Boot 2.2.0 正式发布,大幅性能提升 + Java 13 支持

    点击蓝色"程序猿DD"关注我 回复"资源"获取独家整理的学习资料! 作者 | DD小分队 来源 | didispace.com/spring-boot-2-2- ...

  2. Spring Boot 2.2 正式发布,大幅性能提升 Java 13 支持 | CSDN 博文精选

    作者 | 程序猿DD 责编 | 屠敏 出品 | CSDN博客 之前 Spring Boot 2.2没能按时发布,是由于 Spring Framework 5.2 的发布受阻而推迟.这次随着 Sprin ...

  3. java13性能,Spring Boot 2.2.0,性能提升+支持Java13

    随着 Spring Framework 5.2.0 成功发布之后,Spring Boot 2.2 也紧跟其后,发布了第一个版本:2.2.0.下面就来一起来看看这个版本都更新了些什么值得我们关注的内容. ...

  4. Spring Boot 2.2 正式发布,性能大幅提升、Java 13 支持|CSDN博文精选

    作者 | 程序猿DD 责编 | 郭芮 出品 | CSDN博客 之前 Spring Boot 2.2没能按时发布,是由于 Spring Framework 5.2 的发布受阻而推迟.这次随着 Sprin ...

  5. Spring Boot 2.0正式发布,升还是不升呢?

    Spring帝国 Spring几乎是每一位Java开发人员都耳熟能详的开发框架,不论您是一名初出茅庐的程序员还是经验丰富的老司机,都会对其有一定的了解或使用经验.在现代企业级应用架构中,Spring技 ...

  6. Spring Boot 2.0 正式发布

    转载自 重磅:Spring Boot 2.0 正式发布! Spring Boot 2.0 正式发布! 2018/03/01最新消息,传得沸沸扬扬的Spring Boot 2.0 正式发布了. 小编去看 ...

  7. 厉害了!Spring Boot 2.5正式发布

    今天Spring Boot 2.5正式发布了,支持Java 16,增强了Docker镜像构建功能,而且提供了初始化数据源的新机制.   基于Spring Boot 2.4的变动 Sql脚本初始化数据源 ...

  8. springboot毕设项目基于Spring Boot的智慧天气管理系统84z99(java+VUE+Mybatis+Maven+Mysql)

    springboot毕设项目基于Spring Boot的智慧天气管理系统84z99(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8. ...

  9. Spring Boot 2.6 正式发布:循环依赖默认禁止、增加SameSite属性...

    昨天,Spring官方正式发布了Spring Boot今年最后一个特性版本:2.6.0 同时,也宣布了2.4.x版本的终结. 那么这个新版本又带来了哪些新特性呢?下面就一起跟着DD来看看吧! 重要特性 ...

最新文章

  1. 理解正则表达式(程序员第3期文章)
  2. DCMTK:演示状态的VR和IOD检查器
  3. 《MySQL——幻读与next-key lock与间隙锁带来的死锁》
  4. 【python零基础入门学习】Python入门,带你快速学习,Python 中文编码
  5. Android Studio导入包
  6. ELK根据服务类型收集多个容器数据
  7. 【4】求最大奇数公约数
  8. 小米路由器4a刷第三方固件_小米路由器4A的断网问题初探
  9. MySQL服务 - 客户端工具mysql及mysqladmin使用介绍
  10. mysql 版本号_详解MySQL并发控制及事务原理
  11. win10虚拟服务器安装xp,win10系统安装自带的xp虚拟机的处理技巧
  12. linux 分区100g整数,硬盘分区 整G 整数 法(从1g到200g最精确的整数分区)(转)...
  13. git报错-执行git pull 报错信息:error: 工作区中下列未跟踪的文件将会因为合并操作而被覆盖:
  14. 关于Webgl实际中遇到的一些坑,与大家分享。
  15. Docker 搭建 YApi 可视化接口管理平台
  16. GIS二次开发平台比较之我想
  17. WPF XAML 格式化工具(XAML Styler)使用说明
  18. uni-app 弹幕插件
  19. Android 7.0模拟来电
  20. 母猪公司和沙丁鱼罐头

热门文章

  1. 最新版本_adt-bundle-windows-x86_64-20140702 无法建立avd
  2. linux下设定动态库路径的命令-error while loading shared libraries: xxx.so.x错误的原因和解决办法
  3. 彻底理清重载函数匹配
  4. c/c++整理--c++面向对象(5)
  5. 有用的Copy-On-write,写时复制
  6. VMware 下Linux无法上网 新增支持WIFI方式 无线连接
  7. python删除指定行_关于csv:删除python中的特定行和对应文件
  8. JVM运行参数_JVM内存模型_常用内存分析工具
  9. python多线程和异步性能对比_python对比线程,进程,携程,异步,哪个快
  10. 天池 在线编程 最佳利用率(二分查找 + 哈希)