Spring Boot 3.2發佈:大量Java 21的支持上線,改進可觀測性

来源:https://www.cnblogs.com/didispace/archive/2023/11/24/17853260.html
-Advertisement-
Play Games

就在今天凌晨,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最新版本所帶來的全新內容。

最新特性

通過官方博文的介紹,可以有個大致的最新特性瞭解,其中包括:

  • 支持虛擬線程
  • 對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。第一時間瞭解前沿行業消息、分享深度技術乾貨、獲取優質學習資源


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 哈嘍大家好,我是鹹魚 接觸過 Python 的小伙伴應該對【字典】這一數據類型都瞭解吧 雖然 Python 沒有顯式名稱為“哈希表”的內置數據結構,但是字典是哈希表實現的數據結構 在 Python 中,字典的鍵(key)被哈希,哈希值決定了鍵對應的值(value)在字典底層數據存儲中的位置 那麼今天 ...
  • 0 大綱 [Apache Flink]2017年12月發佈的1.4.0版本開始,為流計算引入里程碑特性:TwoPhaseCommitSinkFunction。它提取了兩階段提交協議的通用邏輯,使得通過Flink來構建端到端的Exactly-Once程式成為可能。同時支持: 數據源(source) 和 ...
  • 一眨眼明天就周末了,一周過的真快! 今天咱們用Python來實現一下動態網頁數據的抓取 最近不是有消息說世界首富馬上要變成中國人了嗎,這要真成了,可就是歷史上首位中國世界首富了! 那我們就以富豪排行榜為例,爬取一下2023年國內富豪五百強,最後實現一下可視化分析。 準備工作 環境使用 Python ...
  • 來源:levelup.gitconnected.com/how-to-design-a-system-to-scale-to-your-first-100-million-users-4450a2f9703d 1 從頭開始 2 可擴展性的藝術 3 使用負載均衡器來均衡所有節點上的流量 4 擴展關係數 ...
  • 因PDF文檔具有較好的穩定性和相容性,現在越來越多的合同、研究論文、報告等都採用PDF格式。為了進一步保護這些重要文檔內容免受未經授權的複製或使用,我們可以添加水印以表明其狀態、所有權或用途。針對工作中可能出現的在 C++ 應用程式中給 PDF 文檔添加文字水印的需求,本文將詳細展示如何通過第三方國 ...
  • wmproxy wmproxy已用Rust實現http/https代理, socks5代理, 反向代理, 靜態文件伺服器,四層TCP/UDP轉發,七層負載均衡,內網穿透,後續將實現websocket代理等,會將實現過程分享出來,感興趣的可以一起造個輪子 項目地址 國內: https://gitee. ...
  • 消息系統 消息系統被用於各種場景,如解耦數據生產者,緩存未處理的消息。Kafka 可作為傳統的消息系統的替代者,與傳統消息系統相比,kafka有更好的吞吐量、更好的可用性,這有利於處理大規模的消息。 根據經驗,通常消息傳遞對吞吐量要求較低,但可能要求較低的端到端延遲,並經常依賴kafka可靠的dur ...
  • IJPay 的宗旨是讓支付觸手可及。封裝了微信支付、QQ 支付、支付寶支付、京東支付、銀聯支付、PayPal 支付等常用的支付方式以及各種常用的介面。 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...