Spring Boot 2.0 即将发布 GA 版本

  • Tim Hodkinson
  • 张卫滨

2018 年 2 月 22 日

话题:JavaDevOps语言 & 开发架构

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

候选版本 1(RC1)在 1 月 31 日发布之后,Spring Boot 2.0 距离 GA 版本更近了一步。

GA 版本已经进入倒计时的最后阶段,按照目前的计划,该版本将在接下来的几周内发布。即便已经接近最后阶段,依然有一些值得关注的新特性即将发布,另外还有大量的 issue 和 pull request 要解决(总数达到了314个)。

很多配置选项被重命名或移除,开发人员需要相应地更新 application.properties 或 application.yml。spring-boot-properties-migrator 是一个新的模块,用来缓解迁移的痛苦。将其添加到遗留项目的依赖之后,它会分析应用的环境,并且会在启动的时候打印诊断信息,同时临时将属性迁移至新的配置方式。

Spring Boot 为 Java 程序所引入的关键创新就是将 servlet 容器嵌入到一个可执行的 jar 包中,这个 jar 包会打包整个应用。Spring Boot 提供了 Tomcat、Undertow 和 Jetty 作为可选的方案。随着 HTTP/2 的出现,Spring Boot 的里程碑版本已经增加了该协议对 Tomcat 和 Undertow 的支持。在 RC1 中, Jetty 也已经支持 HTTP/2,并且通过 Conscrypt 库提供了对原生 TLS 的支持。这对于 Spring Boot 默认服务器 Tomcat 8.5.x 来说意义重大,如果 libtcnative 库及其依赖项安装在主机操作系统上,则只支持 HTTP/2。

在可观测性方面,对Micrometer的集成有了增强。RabbitMQ、JVM 线程和垃圾收集指标会自动 instrument 监控,异步控制器(controller)也会自动添加 instrument 监控。通过健康端点,InfluxDB服务器也可以进行监控。

在数据方面,能够以更加细粒度的方式自定义 Hibernate 属性。另外,还可以暴露RedisCacheConfiguration,从而控制 RedisCacheManager。Flyway 和 Liquibase 配置会更加灵活。

对 GSON 的支持得以大幅增强,这样归功于所谓的“外部贡献”。

还有一个广泛关注的变更就是非常流行的 Spring Boot banner——也就是启动时的 ASCII 图像,它被开发团队广泛应用于展现自己的应用品牌信息。在 Spring Boot 2 版本中并没有让我们失望,它现在支持动画 GIF,在SpringOne Platform 2017 上展现过实际的样例

关于其他特性的详细信息,可以参考发布说明。Stéphane Nicoll‏是来自 Pivotal 的 Spring Boot 贡献者,在Twitter 上说RC2 计划在 2 月 20 日发布。如果没有延迟的话,2.0 GA 会在此之后一周发布。完整的发布日程可以参考该地址

查看英文原文Spring Boot 2.0 Nears GA

JavaDevOps语言 & 开发架构