Spring Cloud 2022 發布,這幾個組件要移除了!
繼SpringBoot 3.0和SpringFramework 6.0之后,Spring Cloud 終于也推出了新版本——2022.0.0,官網把這個版本命名為Kilburn。
目前在Maven倉庫中已經可以下載使用了,通過POM文件即可依賴到項目中:
最低依賴
?Spring Cloud 2022.0.0是構建在Spring Framework 6.0和Spring Boot 3.0 之上的一個主要版本。所以,他對JDK要求同樣是最低需要是Java 17,對J2EE的要求最低需要Jakarta EE 9。
組件升級
Spring Cloud 2022.0.0中的組件版本如下:
移除CLI和Cloudfoundry
?本次升級中,移除了Spring Cloud CLI 和 Spring Cloud Cloudfoundry 這兩個模塊。
Spring Boot CLI是一個命令行工具,用于使用Spring快速開發。它允許運行Groovy腳本,Groovy腳本類似于沒有任何樣板代碼的java代碼。Spring CLI有助于引導新項目或編寫自定義命令。
Spring Cloud for Cloudfoundry可以輕松地在Cloud Foundry 中運行Spring Cloud應用程序。Cloud Foundry具有“服務”的概念,即“綁定”到應用程序的中間件,實質上為其提供包含憑據的環境變量。?
增加對AOT和Native支持
在《SpringBoot 3.0正式發布,有這幾個新變化!》我們介紹過,Spring Boot 3.0 中兩個重要的升級就是開始支持AOT編譯和引入了Spring Native。
在本次升級的SpringCloud 2.0.0中,多個組件也都增加了對AOT和Native的支持,如Spring Cloud Function、Spring Cloud Stream、Spring Cloud OpenFeign、Spring Cloud Commons、Spring Cloud Consul以及Spring Cloud Gateway等。
其中有多個組件的本次升級,主要做的也是 “Added support for AOT & native”!
OpenFeign不再添加新功能
由于Spring現在提供了自己的接口HTTP客戶端解決方案,從2022.0.0開始,Spring Cloud OpenFeign將被視為功能完整。這意味著Spring Cloud團隊將不再向模塊添加新特性。只會修復bug和安全問題。
在2022.0.0中,對OpenFeign也做了一些優化和升級:
- OAuth2的支持遷移到Spring Security OAuth2客戶端
- feign.autoconfiguration.jackson.enabled 默認值修改為true
- Jackson Autoconfiguration默認設置為開啟
- 移除了之前被廢棄的構造函數和方法
- 為了與Spring Framework中的變化保持一致,已經刪除了對Apache HttpClient 4的支持,將使用Apache HttpClient 5替代。
- 增加了對AOT和原生鏡像的支持,因為AOT編譯和Spring Native是Spring Framework 6.0中的重要升級。
- 升級到 Feign 12.0
也許在下一個重要版本中,Spring Cloud OpenFeign可能也要被移除了。
Netflix升級Eureka 2.0.0
Eureka更新到 2.0.0,Eureka 2.0.0 是 Eureka 的一個新分支,與 7 年前的舊 2.x-archive 分支實驗無關。新的 2.x 分支是為了與 JakartaEE 兼容,這也使得 Spring Cloud Netflix 與 Spring Framework 6.0 和 Spring Boot 3.0 兼容。
同時,本次版本升級還遷移Apache HttpClient到Apache HC5 HttpClient。
總結
以上,主要幫大家整理了新發布的Spring Cloud 2022.0.0的新特性,其實可以看到,主要做的是對Spring Framework 6.0和SpringBoot 3.0的兼容。
在編寫這篇文章的時候,我特意去看了一下Spring Cloud Alibaba,Spring Cloud AWS,Spring Cloud Tencent 等項目的是否也隨?之進行了更新。
結果發現Spring Cloud Alibaba和Spring Cloud AWS已經做了相關更新,在文檔中有了相關說明。?
圖:Spring Cloud Alibaba 的README
PS:不過我發現個筆誤:英文版的readme中把Spring Cloud 2022寫成了Spring 2022,中文版readme的則是正確的。
圖:Spring Cloud AWS 的README
那么問題來了,Spring新版本對JDK的最低版本要求是Java 17,那么,你準備升級嗎?
參考資料:
https://spring.io/projects/spring-cloud?。
https://github.com/awspring/spring-cloud-aws?。
https://github.com/alibaba/spring-cloud-alibaba?。