就在今天凌晨,Spring Boot 3.2正式發佈了!該版本是在Java 21正式發佈之後的重要支持版本,所以在該版本中包含大量對Java 21支持的優化。 下麵,我們分別通過Spring官方發佈的博文和Josh Long長達80+分鐘的介紹視頻,一起認識一下Spring Boot 3.2最新版本 ...
就在今天凌晨,Spring Boot 3.2正式發佈了!該版本是在Java 21正式發佈之後的重要支持版本,所以在該版本中包含大量對Java 21支持的優化。
下麵,我們分別通過Spring官方發佈的博文和Josh Long長達80+分鐘的介紹視頻,一起認識一下Spring Boot 3.2最新版本所帶來的全新內容。
- 官方博文:https://spring.io/blog/2023/11/23/spring-boot-3-2-0-available-now
- Josh Long的視頻:https://www.youtube.com/watch?v=dMhpDdR6nHw
最新特性
通過官方博文的介紹,可以有個大致的最新特性瞭解,其中包括:
- 支持虛擬線程
- 對JVM Checkpoint Restore的初步支持(CRaC項目)
- SSL 捆綁包重新載入
- 大量可觀察性改進
- 支持 RestClient
- 支持 JdbcClient
- 支持 Jetty 12
- Apache Pulsar 對 Spring 的支持
- 對 Kafka 和 RabbitMQ 的 SSL 捆綁支持
- 重新設計的嵌套 Jar 處理
- Docker 鏡像構建改進
此外,對於依賴的更新列表,因為比較長,這裡DD就不列出來了,感興趣的可以點擊這裡查看
視頻介紹
下麵,可以把關註點放到John Long的介紹視頻里。一如既往的乾貨視頻!通過線上編碼的方式,直觀的給大家展示新功能的魅力。
Tips:Josh Long的視頻如果您不方便訪問的話,DD這邊給大家下載好了,同時也做了一份翻譯字幕和中文配音視頻。有需要觀看的視頻的小伙伴可以通過關註公眾號:程式猿DD,發送關鍵詞:springboot,獲取下載鏈接。
下麵是關於視頻的總結,可以先大概看一下視頻內容,感興趣的話可以下載觀看:
[00:16] Spring Boot 3.2帶來了許多新功能,包括支持虛擬線程和Project Loom、改進的可觀察性支持、可重載的SSL支持等。
- Spring Boot 3.2帶來了許多新功能,包括虛擬線程和Project Loom。
- Java 21是Spring Boot 3.2的一個重要特性。
- Java 21引入了一些新的語法變化,如封閉類型、模式匹配、智能開關表達式和記錄。
- Java 21被稱為數據導向編程,旨在改進Java在大型單體應用中的表現。
[10:13] 使用字元串格式化和多行變數非常方便,還有一些新的特性,如模式匹配和解構操作符。
- 字元串格式化和多行變數是方便的選項。
- 新特性包括記錄、密封類型、智能開關表達式和模式匹配。
- 目前還沒有解構操作符,但正在開發中。
- 項目Loom虛擬線程是Java 21中的重要特性。
[20:27] 在這個片段中,演示了創建一個跳過重覆項的集合,並使用線程來記錄當前線程的名稱和休眠100毫秒。
- 創建了一個跳過重覆項的集合。
- 使用線程記錄當前線程的名稱。
- 休眠100毫秒。
- 演示了使用虛擬線程來執行Java代碼。
[30:41] 在Spring Boot 3.2中,我們將使用Java 21、Maven和一些支持庫來構建一個與SQL資料庫通信的應用程式。
- 使用了test containers API來啟動Docker鏡像。
- 使用了spring boot starter jdbc依賴來連接PostgreSQL資料庫。
- 通過添加特定的配置來啟動PostgreSQL容器。
[40:57] 使用Spring Boot 3.0中的聲明式介面可以更簡化代碼,提供一個給定URL請求的貓事實。
- 可以使用新的JDBC和REST客戶端來調用端點。
- 使用Project Loom和Drava 21,可以在Spring應用程式的不同層級中獲得一致的虛擬線程集成。
- 這種方法既具備了阻塞API的便利性,又不會喪失可用性。
- 可以使用聲明式介面來實現給定URL請求的貓事實。
[51:09] Spring框架中有一個稱為SmartLifeCycle的介面,可以用來表示典型Spring生命周期的方法。
- SmartLifeCycle是一個更智能的版本,用於讓用戶消費。
- SmartLifeCycle的方法與檢查點方法對應。
- 可以使用SmartLifeCycle來管理應用程式的啟動和停止。
- 在這個例子中,通過實現SmartLifeCycle介面,可以實現應用程式的啟動和停止功能。
[01:01:23] 通過一個文件來生成唯一的鍵值對,並且配置了一個自簽名的SSL證書。
- 在一個文件中寫入數字,每次運行時遞增並寫入文件。
- 生成的鍵值對是唯一的,用於展示隨時間變化。
- 配置了自簽名的SSL證書,並通過指定埠號8443來使用。
[01:11:38] 在本地機器上,我們可以通過Zipkin來查看分散式追蹤的圖形
- 使用Docker compose啟動Zipkin實例
- 在應用代碼中增加採樣概率
- 通過aop支持在類路徑上添加註解來顯示跟蹤ID和跨度ID
- 通過Zipkin可以查看請求日誌和服務之間的跳轉
如果您學習過程中如遇困難?可以加入我們超高質量的Spring技術交流群,參與交流與討論,更好的學習與進步!更多Spring Boot教程可以點擊直達!,歡迎收藏與轉發支持!
歡迎關註我的公眾號:程式猿DD。第一時間瞭解前沿行業消息、分享深度技術乾貨、獲取優質學習資源