SpringBoot 3.0正式釋出,有這幾個新變化!

ITPUB社群發表於2022-12-07

SpringBoot 3.0正式釋出,有這幾個新變化!
作者 l Hollis
來源 l Hollis(ID:hollischuang)

最近幾天,Spring有了重大更新,而且更新的很頻繁,相繼推出了Spring Framework 6.0和SpringBoot 3.0。


SpringBoot 3.0正式釋出,有這幾個新變化!


SpringBoot 3.0正式釋出,有這幾個新變化!

Spring把這次升級稱之為新一代框架的開始,下一個10年的新開端,口號喊的挺響亮,但是很多人在看過相關的Release Note之後,表示並不買賬。


最近釋出之後,有很多網上的資料也都發了相關介紹,但是很多文章都是直接翻譯的官方的釋出公告。主要更新就是以下幾個:


  • A Java 17 baseline

  • Support for Jakarta EE 10 with an EE 9 baseline

  • Support for generating native images with GraalVM, superseding the experimental Spring Native project

  • Ahead-Of-Time transformations and the corresponding AOT processing support for Spring application contexts


首先,前兩個比較容易理解,主要說的是依賴的服務的版本升級的資訊,那就是Spring Framework 6.0和SpringBoot 3.0都要求JDK的版本最低也得是JDK 17;並且底層依賴的J2EE也遷移到了Jakarta EE 9。


雖然JDK 17有很多新的特性,並且也是目前最新的一個LTS版本。


但是其實真正的使用比較多的版本還是JDK 1.8,而Spring徹底拋棄17之前的所有版本!!!



AOT編譯


Ahead-Of-Time,即預先編譯,這是相對於我們熟知的Just-In-Time(JIT,即時編譯)來說的。


相比於JIT編譯,AOT指的是在程式執行前編譯,這樣就可以避免在執行時的編譯效能消耗和記憶體消耗,可以在程式執行初期就達到最高效能、也可以顯著的加快程式的啟動。


SpringBoot 3.0正式釋出,有這幾個新變化!


AOT的引入,意味著Spring生態正式引入了提前編譯技術,相比於JIT編譯,AOT有助於最佳化Spring框架啟動慢、佔用記憶體多、以及垃圾無法被回收等問題。



Spring Native

在Spring的新版本中引入了Spring Native。


有了Spring Native ,Spring可以不再依賴Java虛擬機器,而是基於 GraalVM 將 Spring 應用程式編譯成原生映象(native image),提供了一種新的方式來部署 Spring 應用。這種部署Spring的方式是雲原生友好的。


SpringBoot 3.0正式釋出,有這幾個新變化!


SpringNative的優點是編譯出來的原生 Spring 應用可以作為一個獨立的可執行檔案進行部署,而不需要安裝JVM,而且啟動時間非常短、並且有更少的資源消耗。他的缺點就是構建時長要比JVM更長一些。



其他的,感覺也就沒啥重要的東西了,針對最近頻繁的升級你怎麼看?你準備升級嗎?



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70024420/viewspace-2927180/,如需轉載,請註明出處,否則將追究法律責任。

相關文章