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.