日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring Boot3.0正式发布及新特性解读

發(fā)布時(shí)間:2024/1/8 javascript 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring Boot3.0正式发布及新特性解读 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Spring Boot 3.0 正式發(fā)布

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

Spring Boot 3.0 現(xiàn)已正式發(fā)布,它包含了 12 個(gè)月以來 151 個(gè)開發(fā)者的 5700 多次代碼提交。這是自 4.5 年前發(fā)布 2.0 以來,Spring Boot 的第一次重大修訂。

它也是第一個(gè)支持 Spring Framework 6.0 和 GraalVM 的 Spring Boot GA 版本,同時(shí)也是第一個(gè)基于 Java 17 的 Spring Boot 版本,以 Jakarta EE 9 為基準(zhǔn)并支持 Jakarta EE 10。同時(shí)借助于 GraalVM 支持了 AOT 和 Native Image。

JDK調(diào)整

首先要升級(jí)你的 JDK 到 JDK17,如果你要使用 Native Image 特性,要使用 GraalVM 22.3 以上和 Native Build Tools Plugin 0.9.17 或更高的版本。

平滑升級(jí)

這里不建議直接從低于 Spring Boot 2.7 的版本直接升級(jí)到 Spring Boot 3.0。不然新特性和 API 變更太多,就需要你修改大量的配置,升級(jí)路徑會(huì)過于陡峭。建議通過小版本號(hào)分階段升級(jí)到 2.4、2.6、2.7,最后再到 3.0。

依賴調(diào)整

Spring Boot3.0 下依賴組件的版本要求也不盡相同,比如 Spring Boot Kafka Starter 可能對(duì) Kafka 有什么要求,這要求你進(jìn)行充分評(píng)估。Spring Cloud 體系應(yīng)該在對(duì)應(yīng)的 Spring Boot 3.0 體系發(fā)布后進(jìn)行升級(jí)

一旦上面的工作準(zhǔn)備完畢,你就可以開始嘗試升級(jí)到 Spring Boot 3.0 了。

最低環(huán)境要求

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

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

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

配置屬性兼容

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

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

在 Spring Boot 3.0 中,一些配置屬性被重新命名/刪除了,開發(fā)人員需要相應(yīng)地更新他們的application.properties或者application.yml。為了幫助你做到這一點(diǎn),Spring Boot 3.0 提供了一個(gè)spring-boot-properties-migrator模塊。一旦作為依賴關(guān)系添加到你的項(xiàng)目中,它不僅會(huì)在啟動(dòng)時(shí)分析你的應(yīng)用程序的環(huán)境并打印診斷結(jié)果,而且還會(huì)在運(yùn)行時(shí)為你臨時(shí)遷移屬性。把下面這個(gè)加入pom.xml以幫助你升級(jí)兼容配置屬性:

<dependency>?<groupId>org.springframework.boot</groupId>?<artifactId>spring-boot-properties-migrator</artifactId>?<scope>runtime</scope></dependency>

?

完成遷移之后,務(wù)必要移除spring-boot-properties-migrator依賴。

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

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

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

Jakarta EE

由于 Java EE 已經(jīng)變更為 Jakarta EE,包名以?javax開頭的需要相應(yīng)地變更為jakarta。這里建議通過 Intellij IDEA 2021.2 提供的內(nèi)置功能批量處理即可:

?

當(dāng)然你也可以手動(dòng)去變更包名。

升級(jí)的關(guān)鍵變更

Spring Boot 3.0 有一些關(guān)鍵改變,這些改變將與大多數(shù)應(yīng)用程序有關(guān)。所以開發(fā)者要仔細(xì)閱讀這些變更。

自動(dòng)配置文件變更

Spring Boot 2.7 引入了一個(gè)新的文件:

META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports

用于注冊(cè)自動(dòng)配置,同時(shí)保持與?spring.factories?中注冊(cè)的向后兼容。Spring Boot 3.0 發(fā)布后,spring.factories已經(jīng)被移除,只能通過imports文件來注冊(cè)自動(dòng)配置。

支持 GraalVM 原生鏡像

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

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

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

Spring Boot 3.0 支持 GraalVM 原生鏡像后,它甚至取代了實(shí)驗(yàn)性的 Spring Native 項(xiàng)目:

Spring Boot 最新支持版本

棧長(zhǎng)整理了 Spring Boot 的最新版本支持情況:

版本發(fā)布時(shí)間停止維護(hù)時(shí)間停止商業(yè)支持
3.0.x2022-11-242023-11-242025-02-24
2.7.x2022-05-192023-11-182025-02-18
2.6.x2021-12-172022-11-242024-02-24
2.5.x2021-05-20已停止2023-08-24
2.4.x2020-11-12已停止2023-02-23
2.3.x2020-05-15已停止已停止
2.2.x2019-10-16已停止已停止
2.1.x2018-10-10已停止已停止
2.0.x2018-03-01已停止已停止
1.5.x2017-01-30已停止已停止

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

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

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

之前就有粉絲問公司還用著 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)成為了實(shí)事上的腳手架框架了,讓學(xué)習(xí)和開發(fā)變得更簡(jiǎn)單,同時(shí)這版本的淘汰節(jié)奏也讓我感覺技術(shù)更新實(shí)在太快了,所以我們也要不斷保持學(xué)習(xí),不然也會(huì)跟著淘汰。

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

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

新特性解讀:Springboot3.0新特性解讀

總結(jié)

以上是生活随笔為你收集整理的Spring Boot3.0正式发布及新特性解读的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。