Spring Boot 3.0 正式發(fā)布,王炸??!

Spring Boot 3.0 正式發(fā)布

大家好,我是棧長。
Spring Boot 3.0 正式發(fā)布了:



同時發(fā)布更新的還有 2.7.x 和 2.6.x 兩條版本線,Spring Boot 是我見過的發(fā)版最守時的技術(shù)框架之一。

Spring Boot 3.0 這是一個重大的主版本更新,距離上一代的 Spring Boot 2.0 的發(fā)布已經(jīng)過去 4 年多了,Spring Boot 3.0 也是第一個支持 Spring 6.0+ 和 GraalVM 的 Spring Boot 正式版本。

Spring Boot 3.0 重大新特性

時隔四年多,Spring Boot 3.0 這是一個斷崖式的版本更新,這四年多的時間,技術(shù)日新月異,無疑更新了太多的特性,也修復(fù)了海量的 bug 的性能提升,今天棧長就聊聊 Spring Boot 3.0 的幾個重大新特性。

1、最低環(huán)境要求

Spring Boot 3.0 最低要求 Java 17,并向上兼容支持 Java 19。

所以,如果你想升級 Spring Boot 3.0,請確保你的 JDK 版本是否符合要求,畢竟現(xiàn)在大部分人還是用的 Java 8,升級 JDK 版本不是一件小事,雖然現(xiàn)在 Java 17+ 是免費使用的,但不確定哪個時間點會收費,也可以轉(zhuǎn)戰(zhàn) OpenJDK 或者其他開源的 JDK 版本。

另外,Spring Boot 3.0 已將所有底層依賴項從 Java EE 遷移到了 Jakarta EE API,基于 Jakarta EE 9 并盡可能地兼容 Jakarta EE 10。因為早在幾年前 Java EE 已經(jīng)正式更名為 Jakarta,所以,所有相關(guān)的名稱都變了,包括包名,所以使用了 Java EE 的應(yīng)用改動也不小。

2、大量依賴升級

Spring Boot 3.0 最低支持的 Spring 框架也變成了 Spring 6.0.2+,雖然是框架自動集成依賴的,但需要注意這點,因為前段時間發(fā)布的 Spring 6.0 也有不少的底層升級。

除此之外,Spring Boot 管理的大量第三方的技術(shù)依賴也有大幅度的的升級,具體可以參考官方版本發(fā)布文檔:

https://github.com/spring-projects/spring-boot/releases/tag/v3.0.0

以上這些技術(shù)的升級對于 Spring Boot 應(yīng)用的升級也是一頭攔路虎。

3、支持 GraalVM 原生鏡像

GraalVM 是 Oracle 在 2018 年發(fā)布的一個全新的通用全棧虛擬機(jī),并具有高性能、跨語言交互等逆天特性,不僅支持了 Java、Scala、Groovy、Kotlin 等基于 JVM 的語言,以及 C、C++ 等基于 LLVM 的語言,還支持其他像 JavaScript、Ruby、Python 和 R 語言等。
更多介紹可以參考棧長之前的分享:Oracle 發(fā)布了一個全棧虛擬機(jī) GraalVM

Spring Boot 3.0 應(yīng)用現(xiàn)在可以支持轉(zhuǎn)換為 GraalVM 原生鏡像了,這可以提供顯著的內(nèi)存和啟動性能改進(jìn),能支持 GraalVM 原生鏡像也是整個 Spring 產(chǎn)品組合中的一項重大能力的提升。

Spring Boot 3.0 最低支持 Graal 22.3+ 和 Native Build Tools Plugin 0.9.17+。

Spring Boot 3.0 支持 GraalVM 原生鏡像后,它甚至取代了實驗性的 Spring Native 項目:

Spring Boot 這是向 Oracle GraalVM 低頭了??

關(guān)于這個 Spring Native 項目,棧長之前還做過兩期分享:

王炸??!Spring 終于對 JVM 動手了…
Spring Native 0.10.0 發(fā)布,重大突破??!

話說棧長這是做小白鼠了???好好的項目,說取代就取代,也沒誰了。。要怪就怪它是實驗性項目吧!

4、提高應(yīng)用可觀察性

Spring Boot 3.0 通過 Micrometer 和 Micrometer 追蹤提高應(yīng)用可觀察性,支持集成 Micrometer 1.10+,引入了的全新的可觀察 API 并自動配置 Micrometer 追蹤,包括對 Brave、OpenTelemetry、Zipkin 和 Wavefront 組件的支持。

使用 Micrometer 可觀察 API 時,完成觀察后,可將觀察數(shù)據(jù)主動報告給 Zipkin 等組件,并支持自定義追蹤參數(shù)配置,這個新特性可以更好地幫助我們了解并監(jiān)控應(yīng)用的健康狀況。

Spring Boot 最新支持版本

棧長整理了 Spring Boot 的最新版本支持情況:



Spring Boot 2.5.x 這條版本線在今年 5 月份已經(jīng)停止維護(hù)了,免費維護(hù)能用的也就 Spring Boot 2.6 及以上的版本了,并且,隨著 Spring Boot 3.0 的發(fā)布,Spring Boot 2.6.x 也要相繼停止維護(hù)了,到時能用的就 2.7.x 和 3.0.x 了。

商業(yè)支持最低也得 Spring Boot 2.4+,2.4 以下版本沒有任何支持了,話說你們用的哪個 Spring Boot 版本呢?

但是,我覺得現(xiàn)在還是會有很多公司大量使用 Spring Boot 2.3 及以下的版本,因為版本更新太快,升級兼容太麻煩了,也怕影響線上業(yè)務(wù),公司都是求業(yè)務(wù)穩(wěn)定,除非是遇到重大漏洞(但也可以增量升級),一般都會保守升級。

之前就有粉絲問公司還用著 1.x 和 2.0.x 及其他低版本的 Spring Boot 有沒有問題,這要看情況吧,如果是內(nèi)部系統(tǒng),不提供外網(wǎng)訪問,或許沒啥問題,如果是公網(wǎng)系統(tǒng),建議還是使用正在維護(hù)的穩(wěn)定版本。

Spring Boot 現(xiàn)在已經(jīng)成為了實事上的腳手架框架了,讓學(xué)習(xí)和開發(fā)變得更簡單,同時這版本的淘汰節(jié)奏也讓我感覺技術(shù)更新實在太快了,所以我們也要不斷保持學(xué)習(xí),不然也會跟著淘汰。

如果你還沒用過 Spring Boot,今天我就送你一份 《Spring Boot 學(xué)習(xí)筆記》這個很全了,包括底層實現(xiàn)原理及代碼實戰(zhàn),非常齊全,助你快速打通 Spring Boot 的各個環(huán)節(jié)。

Spring Boot 最新最全的實戰(zhàn)代碼已上傳 Github:

https://github.com/javastacks/spring-boot-best-practice

好了,今天的分享就到這里了,后續(xù)棧長也會繼續(xù)關(guān)注并分享更多的 Spring Boot 干貨,關(guān)注公眾號第一時間推送。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容