Spring Boot 3.1 正式發布
大家好,我是R哥,
上一篇:Spring Boot 3.0 正式發布,王炸!!
Spring Boot 3.0 發布半年左右,Spring Boot 3.1 正式發布了:
同時發布更新的還有 2.7.x 版本,同時,R哥注意到 2.6.x 版本線已經停止維護了,最新支持版本如下圖所示:
2.7.x 這也是目前唯一正在維護的 2.x 版本線了,商業支持的版本也只有 2.5.x 了,
如果你還沒用過 Spring Boot,這里推薦下R哥的《Spring Boot 3 核心技術與最佳實踐》最新書籍,包括底層實作原理及代碼實戰,知識點非常齊全,助你快速打通 Spring Boot 的各個環節,
Spring Boot 3.0 重大新特性
R哥看了下,Spring Boot 3.1 更新了不少內容,今天R哥就簡單分享下幾個重要的更新,
1、最低環境要求
Spring Boot 3.0 的發布,其最低要求 Java 17,并向上兼容支持 Java 19,Spring Boot 3.1 可以支持 Java 20 了,因為前段時間 Java 20 發布了,
對 Java 開發環境的要求對比表:
Spring Boot | JDK | Spring | Maven | Gradle |
---|---|---|---|---|
3.1.0 | 17 ~ 20 | 6.0.9+ | 3.6.3+ | 7.5+,8.x |
3.0.0 | 17 ~ 19 | 6.0.2+ | 3.5+ | 7.5+ |
2.7.12 | 8 ~ 20 | 5.3.27+ | 3.5+ | 6.8.x, 6.9.x, 7.x, 8.x |
2、大量依賴升級
Spring Boot 3.1 最低支持的 Spring 框架也變成了 Spring 6.0.9+,除此之外,Spring Boot 管理的大量第三方的技術依賴也有大幅度的的升級,具體可以參考官方版本發布檔案:
https://github.com/spring-projects/spring-boot/releases/tag/v3.1.0
以上這些技術的升級對于 Spring Boot 應用的升級也是一頭攔路虎,
3、移除 HttpClient 4
因為 Spring 6 洗掉了 RestTemplate 對 Apache HttpClient 4 的支持,取而代之的則是 Apache HttpClient 5,
而 Spring Boot 3.0 又同時包含了 HttpClient 4 和 HttpClient 5 兩個依賴的管理,如果同時管理這兩個版本,有的人可能會繼續使用 HttpClient 4,應用程式在使用 RestTemplate 時可能會有潛在的錯誤,導致診斷困難,
所以,Spring Boot 3.1 移除了 HttpClient 4 的依賴管理,轉而逼迫用戶強制使用 HttpClient 5,大家有依賴 HttpClient 4 的升級時需要注意了,
4、Servlet 和 Filter 注冊失敗時拋例外
大家知道,Spring Boot 注冊 Servlet 和 Filter 時用的 ServletRegistrationBean 和 FilterRegistrationBean 這兩個類,之前注冊失敗時是記錄 warn 級別的日志,現在則是直接拋出 IllegalStateException 例外,
如果不想注冊失敗拋出例外,還是想像以前一樣記錄 warn 警告日志,可以呼叫這兩個類的 setIgnoreRegistrationFailure(true) 方法,即忽略注冊失敗,使用示例如下:
@Bean
public ServletRegistrationBean registerServlet() {
ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new RegisterServlet(), "/registerServlet");
servletRegistrationBean.addInitParameter("type", "公眾號");
servletRegistrationBean.addInitParameter("name", "Java技術堆疊");
servletRegistrationBean.setIgnoreRegistrationFailure(true);
return servletRegistrationBean;
}
5、Spring Authorization Server 自動配置
Spring Boot 3.1 提供了一個 spring-boot-starter-oauth2-authorization-server 啟動器,可以支持 Spring Authorization Server 的自動配置,輕松配置基于 Servlet 的 OAuth2 授權服務器,
更多參考官方檔案:
https://docs.spring.io/spring-boot/docs/3.1.0/reference/html/web.html#web.security.oauth2.authorization-server
6、Docker Compose 新模塊
Docker Compose 是一個用于定義和運行多個 Docker 容器的工具,即官方容器編排工具,它可以輕松地定義多個容器之間的依賴關系、環境變數、網路設定等,并通過一個命令即可創建、啟動和連接這些容器,
Spring Boot 3.1 提供了一個新模塊:spring-boot-docker-compose,它支持與 Docker Compose 集成,當 Spring Boot 應用啟動時,它會在當前作業目錄中查找組態檔,
支持以下幾種組態檔:
- compose.yaml
- compose.yml
- docker-compose.yaml
- docker-compose.yml
更多參考官方檔案:
https://docs.spring.io/spring-boot/docs/3.1.0/reference/html/features.html#features.docker-compose
7、SSL 配置
Java KeyStore 和 PEM 編碼證書等 SSL 信任相關的資料,現在可以使用 properties 屬性進行配置,并且可以適用于各種型別的連接,例如嵌入式 Web 服務器、資料服務、RestTemplate 和 WebClient,
更多參考官方檔案:
https://docs.spring.io/spring-boot/docs/3.1.0/reference/html/features.html#features.ssl
8、服務連接
Spring Boot 3.1 引入了一個新的服務連接概念,這是一個低級別的功能,旨在作為其他高級功能的構建塊,這些高級功能可以通過定義 ConnectionDetails Bean 自動配置服務連接,
ConnectionDetails Bean 提供了建立、洗掉服務連接所需的詳細資訊,并且 Spring Boot 的自動配置也已經支持,當這些 Bean 可用時,它們將優先于任何與連接相關的配置引數,但是,與連接本身無關的配置引數(比如:控制連接池大小和行為的引數)仍將使用,
Spring Boot 最新支持版本
R哥整理了 Spring Boot 的最新版本支持情況:
版本 | 發布時間 | 停止維護時間 | 停止商業支持 |
---|---|---|---|
3.1.x | 2023-05-18 | 2024-05-18 | 2025-08-18 |
3.0.x | 2022-11-24 | 2023-11-24 | 2025-02-24 |
2.7.x | 2022-05-19 | 2023-11-18 | 2025-02-18 |
2.6.x | 2021-12-17 | 2022-11-24 | 2024-02-24 |
2.5.x | 2021-05-20 | 已停止 | 2023-08-24 |
2.4.x | 2020-11-12 | 已停止 | 2023-02-23 |
2.3.x | 2020-05-15 | 已停止 | 已停止 |
2.2.x | 2019-10-16 | 已停止 | 已停止 |
2.1.x | 2018-10-10 | 已停止 | 已停止 |
2.0.x | 2018-03-01 | 已停止 | 已停止 |
1.5.x | 2017-01-30 | 已停止 | 已停止 |
話說你們用的哪個 Spring Boot 版本?
如果你還沒用過 Spring Boot,最后推薦下R哥的《Spring Boot 3 核心技術與最佳實踐》最新書籍,包括底層實作原理及代碼實戰,知識點非常齊全,助你快速打通 Spring Boot 的各個環節,
Spring Boot 最新最全的實戰代碼已上傳 Github:
https://github.com/javastacks/spring-boot-best-practice
好了,今天的分享就到這里了,后續R哥也會繼續關注并分享更多的 Spring Boot 干貨,關注公眾號Java技術堆疊第一時間推送,
著作權宣告: 本文系公眾號 "Java技術堆疊" 原創,轉載、參考本文內容請注明出處,抄襲、洗稿一律投訴侵權,后果自負,并保留追究其法律責任的權利,
近期熱文推薦:
1.1,000+ 道 Java面試題及答案整理(2022最新版)
2.勁爆!Java 協程要來了,,,
3.Spring Boot 2.x 教程,太全了!
4.別再寫滿屏的爆爆爆炸類了,試試裝飾器模式,這才是優雅的方式!!
5.《Java開發手冊(嵩山版)》最新發布,速速下載!
覺得不錯,別忘了隨手點贊+轉發哦!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/553189.html
標籤:Java
下一篇:返回列表