大家好,我是棧長。 今天給大家通報一則框架更新消息,時隔 2021.x 版本發佈一年,Spring Cloud 2022.0.0 最新版發佈了,來看下最新的 Spring Cloud 版本情況: Spring Cloud 無疑是現在 Java 微服務事實上的標準,完全基於 Spring Boot 構 ...
大家好,我是棧長。
今天給大家通報一則框架更新消息,時隔 2021.x 版本發佈一年,Spring Cloud 2022.0.0 最新版發佈了,來看下最新的 Spring Cloud 版本情況:
Spring Cloud 無疑是現在 Java 微服務事實上的標準,完全基於 Spring Boot 構建,依賴 Spring 生態體系,可以很好的與各種 Spring 生態項目無縫對接。
Maven 依賴先給大家奉上:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>2022.0.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Spring Cloud 依賴管理採用的是 import 導入方式,裡面管理了許多依賴,統一引入管理,使用時只需要引入對應依賴的坐標即可,不需要指定版本號。
Spring Cloud 目前維護著 4 條版本主線:
- Spring Cloud 2022.x
- Spring Cloud 2021.x
- Spring Cloud 2020.x
- Spring Cloud Hoxton.x(實際上已經停止維護了)
關於這些版本線的命名是不是很奇怪?
另外,還有幾天都要 2023 年了,怎麼現在才發佈 2022 版本?
其實 Spring Cloud 最新的版本命名方式早已經變更了,以後就是 YEAR.x 這種命名方式了,不清楚的可以看下棧長之前寫的兩篇文章:
所以說,Spring Cloud 2022.0.0 中的 2022 是指 Spring Cloud 2022.x 版本線,2022.0.0 則是指 2022 這個版本線的第 1 個版本,而不是指某個年份發佈的版本。
新特性解讀
Spring Cloud 2022.0.0 是一個大版本,更新了太多內容,棧長不打算全部解讀,說幾個有意思的更新吧。
完整特性更新參考官方發佈文檔:
-
https://spring.io/blog/2022/12/16/spring-cloud-2022-0-0-codename-kilburn-has-been-released
-
https://github.com/spring-cloud/spring-cloud-release/wiki/Spring-Cloud-2022.0-Release-Notes
1、系統環境
Spring Cloud 2022.0.0 基於以下環境進行構建:
- Java 17+(相容 Jakarta EE )
- Spring Framework 6.x
- Spring Boot 3.x
所以,這也是 Spring Cloud 2022.0.0 的最低依賴要求,升級請小心。
2、模塊升級
模塊 | Version |
---|---|
Spring Cloud Vault | 4.0.0 |
Spring Cloud Kubernetes | 3.0.0 |
Spring Cloud Function | 4.0.0 |
Spring Cloud Zookeeper | 4.0.0 |
Spring Cloud Circuitbreaker | 3.0.0 |
Spring Cloud Task | 3.0.0 |
Spring Cloud Bus | 4.0.0 |
Spring Cloud Stream | 4.0.0 |
Spring Cloud Openfeign | 4.0.0 |
Spring Cloud Commons | 4.0.0 |
Spring Cloud Contract | 4.0.0 |
Spring Cloud Starter Build | 2022.0.0 |
Spring Cloud Netflix | 4.0.0 |
Spring Cloud Consul | 4.0.0 |
Spring Cloud Config | 4.0.0 |
Spring Cloud Build | 4.0.0 |
Spring Cloud Gateway | 4.0.0 |
3、Eureka 已經更新到 Eureka 2.0.0
大家都知道 Eureka 2.x 早已經停止維護了,如該分支最新公告所示:
雖然 Eureka 2.0.0 是 Eureka 的一個新分支,但這個分支與 7 年前的 2.x-archive 舊實驗分支無關。
創建 Eureka 2.x 新分支的目的是為了與 JakartaEE 相容而已,讓 Spring Cloud Netflix 可以相容 Spring Framework 6.0 和 Spring Boot 3.0,僅此而已。
4、Spring Cloud OpenFeign 功能完成公告
由於 Spring 現在提供了自己的 HTTP 介面客戶端解決方案,比如在最新的 Spring Boot 3.0 中實現介面調用可以有以下兩種解決方案:
- RestTemplate
- WebClient
所以,從 Spring Cloud 2022.0.0 版本開始,Spring Cloud OpenFeign 模塊已經視為功能完成狀態了,這意味著 Spring Cloud 團隊將不再向該模塊添加新功能。
雖然 OpenFeign 不會再添加新功能,但還是會繼續修複錯誤和安全問題,並且也還會考慮和審查來自社區的小規模的 pull requests 請求。
這是不是意味著,在不久的將來,OpenFeign 要退出歷史舞臺了?
Spring Cloud 支持版本
Spring Cloud 支持的版本情況,以及對應的 Spring Boot 版本如下表所示。
版本線 | 生命周期 | Spring Boot 版本 |
---|---|---|
2022.x | 正常 | Spring Boot 3.0 |
2021.x | 正常 | Spring Boot 2.6.x, 2.7.x(2021.0.3+) |
已停止維護 | Spring Boot 2.4.x, 2.5.x (2020.0.3+) | |
已停止維護 | Spring Boot 2.2.x, 2.3.x (SR5+) | |
已停止維護 | Spring Boot 2.1.x | |
已停止維護 | Spring Boot 2.0.x | |
已停止維護 | Spring Boot 1.5.x | |
已停止維護 | Spring Boot 1.5.x |
需要註意的是:
正常維護中的版本中有 Spring Cloud 2021+ 了,其他的版本已經徹底結束生命周期了,官方不再提供維護支持了,非必要,儘量不要再使用了。
另外,如果你想系統學習 Spring Cloud 微服務,包括了最新的 JWT/ OAuth 2 內容,可以考慮報名棧長出品的最新的《Spring Cloud Alibaba 微服務課程》,這是最新、最正確的學習姿勢,一次訂閱,永久免費更新。
目前最新的 Spring Cloud Alibaba 2021.0.4.0 還是基於 Spring Cloud 2021.0.4.0,尚未同步更新最新的 Spring Cloud 2022.0.0 版本,這個在棧長的微服務課程中也有說明瞭,兩者的版本不一定完全同步,也可能會跳過。
總結
Spring Cloud 2022.0.0 是一個革命性的大版本,依賴的系統環境和模塊都有大幅度的更新,特別是 JDK 17、Spring 基礎框架的最低要求,對於想升級的小伙伴來說無疑是一件難事,國內的應用也都還是以 JDK 8 為主,要遷移到 Spring Cloud 2022 版本恐怕還需要不少的時日。
最後,學 Spring Cloud 必須先掌握 Spring Boot,如果你還沒用過 Spring Boot,今天我就送你一份 《Spring Boot 學習筆記》這個很全了,包括底層實現原理及代碼實戰,非常齊全,助你快速打通 Spring Boot 的各個環節。
Spring Boot 理論和實戰源碼倉庫:
你們用的哪個 Spring Cloud 版本呢?歡迎留言分享~
好了,今天的分享就到這裡了,後面棧長我會更新更多好玩的 Java 技術文章和最新的技術資訊,關註公眾號Java技術棧第一時間推送,不要走開哦。
最後,如果你想系統學習 Spring Cloud 微服務,可以考慮報名棧長出品的最新的《Spring Cloud Alibaba 微服務課程》,這是最新、最正確的學習姿勢,一次訂閱,永久免費更新。
版權聲明: 本文系公眾號 "Java技術棧" 原創,原創實屬不易,轉載、引用本文內容請註明出處,抄襲者一律舉報+投訴,並保留追究其法律責任的權利。
近期熱文推薦:
1.1,000+ 道 Java面試題及答案整理(2022最新版)
4.別再寫滿屏的爆爆爆炸類了,試試裝飾器模式,這才是優雅的方式!!
覺得不錯,別忘了隨手點贊+轉發哦!