1 月 31 日,Spring Boot 2.0.0 的首个 RC 版本正式发布,也就是说,距离 Spring Boot 2.0 的 GA 版本又近了一步。
按照目前的计划,GA 版本将在接下来的几周内(2 月 27 日)发布。即便已经接近最后阶段,依然有一些值得关注的新特性令人期待,另外目前还有大量的 issue 和 pull request 需要解决。
需要注意的是,新版本中很多配置选项已经被重命名或者移除,开发人员需要相应地更新 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 上展现过实际的样例(见参考链接 0)。
关于其他特性的详细信息,可以参考发布说明(见参考链接 1)。Stéphane Nicoll是来自 Pivotal 的 Spring Boot 贡献者,在 Twitter 上说 RC2 计划在 2 月 20 日发布(截止发稿前,还没有发布,按照状态显示,应该会发布,因为有时差)。如果没有延迟的话,2.0 GA 会在此之后一周发布。完整的发布日程可以参考该地址
参考文献
[2]H. Berenson, P. Bernstein, J. Gray, J.Melton, E. O’Neil,and P. O’Neil. A critique of ANSI SQL isolation levels. InProceedings of the SIGMOD International Conference on Management of Data, pages1–10, May 1995.
[3]Michael J. Cahill, Uwe Röhm, and Alan D.Fekete. 2008. Serializable isolation for snapshot databases. In SIGMOD ’08:Proceedings of the 2008 ACM SIGMOD international conference on Management of data, pages 729–738, New York, NY, USA. ACM.
[4]Michael James Cahill. 2009. Serializable Isolation for Snapshot Databases. Sydney Digital Theses. University of Sydney, School of Information Technologies
[5] A. Fekete, D. Liarokapis, E. O’Neil, P.O’Neil, andD. Shasha. Making snapshot isolation serializable. www.codexueyuan.com In ACM transactions on database systems, volume 39(2), pages 492–528, June 2005.