Bootiful Spring Boot 3.4:開始

工程 | Josh Long | 2024 年 11 月 25 日 | ...

大家好,Spring 愛好者們!祝大家 Spring Boot 3.4 釋出快樂!

我知道,我知道你在想什麼:Josh,Spring Boot 3.4 已經發布了!我知道。Spring Boot 3.4 今年提前了一週釋出!在過去的幾年裡,我們總是在美國的感恩節當天釋出 Spring Boot,這對我們在美國的開發者來說很辛苦,因為需要更多的準備。今年,提前了一週!我為什麼要提這個?嗯,在感恩節之前,我 Actually 已經有時間去探索 Spring Boot 3.4 帶來的絕佳可能性了。雖然…

Bootiful Spring Boot 3.4:Spring AI

工程 | Josh Long | 2024 年 11 月 24 日 | ...

我愛 Spring AI。這是一個很棒的專案,旨在將 AI 工程的模式和實踐帶給 Spring Boot 開發者。它提供了簡潔、慣用的抽象,讓任何 Spring 開發者都能感到賓至如歸,並且它還集成了各種不同的向量儲存、嵌入模型、轉錄模型、影像模型和聊天模型。

新版本 m4,基於 Spring Boot 3.4 構建,並增加了大量新功能。一如既往,我無法涵蓋所有新功能,但釋出說明做得非常出色。

  • 增加了對 Amazon Bedrock Converses 的新支援
  • 在 Java 和 Kotlin 中,對更具表現力的函式呼叫進行了大量工作
  • 這是對 AI 社群中關於“高階和模組化 RAG”的想法的首次實現。RAG,當然是檢索增強生成,指的是使用系統或服務中的資料來告知聊天模型生成的響應。這些想法在本 篇論文這篇論文中有所闡述,而構建塊正在這個新版本中生根發芽。太棒了!

Bootiful Spring Boot 3.4:Spring Batch

工程 | Josh Long | 2024 年 11 月 24 日 | ...

Spring Batch 5.2 的新版本帶來了海量功能!Spring Batch 是處理大量但有限的順序資料訪問的引人注目的方式。想想:從 SQL 資料庫讀取並寫入 CSV,或者從 FTP 伺服器讀取並輸出 MongoDB 的分析——這就是批次處理。你懂的。這其中一半的工作(抱歉雙關語!)是整合各種資料來源和多個數據接收器。另一方面的挑戰,正如你所想象的,對於耗時且可能失敗的工作負載,是維護與每個批次作業執行相關的持久且詳盡的元資料。再次,我…

Bootiful Spring Boot 3.4:Spring Boot

工程 | Josh Long | 2024 年 11 月 24 日 | ...

現在我們又回到了起點:Spring Boot 3.4!這個版本將所有內容整合在一起。當你審視 Spring Boot 時,請記住它標準化了所有專案的整合,並儘可能地嘗試平滑使用這些專案時可能出現的整合問題。此外,它還提供了對所有其他框架使用者都有益的設施。

舉個例子:當我們為 Spring Framework 6 和 Spring Boot 3 引入 GraalVM 原生映象支援時,它是分三個階段交付的。第一階段:元件模型、生命週期和核心…

Bootiful Spring Boot 3.4:Spring Data

工程 | Josh Long | 2024 年 11 月 24 日 | ...

釋出公告博文很好地強調了 Spring Data 2024.1 中的一些新功能。請記住:Spring Data 是一個總括專案,聚合了支援 Couchbase、Redis、MongoDB、JDBC、R2DBC、Neo4J、Apache Cassandra 等資料儲存的模組。它是將資料儲存連線到應用程式的最簡單方法。事實上,我們可以寫一本小書來介紹這裡的所有新功能!

以下是一些引起我注意的功能。

  • 一個新的 Repository fragments SPI 允許 classpath 上的任何任意 .jar 檔案,或者其他包中的程式碼,透過 Spring.factories 服務工廠機制向 Spring Data 倉庫機制貢獻擴充套件。
  • Spring Data JPA 中查詢解析開銷大大降低
  • Spring Data MongoDB 中的 @TimeSeries 過期
  • Spring Data for Apache Cassandra 中表和使用者定義型別的 keyspace 限定
  • Spring Data Cassandra 中使用 CqlGenerator refined CQL 生成
  • Spring Data Redis 在事務和管道操作中支援 Jedis Lua 指令碼
  • 使用 JedisClientConfigBuilderCustomizer 自定義 JedisClientConfig

Bootiful Spring Boot 3.4:Spring Integration

工程 | Josh Long | 2024 年 11 月 24 日 | ...

Spring Integration 6.4 是你處理所有企業應用整合事務的一站式解決方案。它支援眾多訊息傳遞和整合模式,以及更多的技術介面卡——SFTP、FTP、Redis、Apache Pulsar、Apache Kafka、JDBC、TCP/IP 等。所以,你可能已經猜到了,根本不可能全部跟上。 釋出說明做得相當好,所以我將列出我最喜歡的一些。

  • 遠端檔案系統入站介面卡現在使用 clearFetchedCache() 方法從快取中刪除未處理遠端檔案的引用。
  • Spring Integration 分散式鎖機制有一個方法 - LockRepository#delete - 該方法現在返回移除分散式鎖所有權的結果。
  • 同樣,基於 Redis 的分散式鎖實現 - RedisLockRegistry - 如果鎖的所有權已過期,則會丟擲 ConcurrentModificationException
  • 現在有一個方便的 Consumer<SshClient>,允許進一步定製內部 SshClient

Bootiful Spring Boot 3.4:Spring Modulith

工程 | Josh Long | 2024 年 11 月 24 日 | ...

當 Spring Boot 首次推出時,我在演講時會告訴大家,Spring Boot 就像與 Spring 團隊進行結對程式設計。它提供了“約定優於配置”的原則,讓你能夠快速搭建基礎設施並開始工作。但它並沒有提供太多架構指導。可以說是沒有“軌道”,關於如何構建你的應用程式。而且,我認為這沒關係,因為 Spring Boot 並不是一個只有一種用途的工具。你可以用它來開發 CLI、單體應用、Web 應用、批次作業、流處理和整合處理器、微服務、GRPC 服務、Kubernetes 操作員等…

Bootiful Spring Boot 3.4: Spring Security

工程 | Josh Long | 2024 年 11 月 24 日 | ...

Spring Security 6.4.1 是你處理身份驗證和授權的“一站式商店”,而這個版本簡直是重磅炸彈!發行說明充滿了可能性

發行說明是騙人的!

我的意思是,它們並非全然是謊言。只是它們沒有很好地捕捉和傳達這個版本有多麼出色。這個版本使用者可見的新功能比以往許多版本都要多。這可能是我最喜歡的 Spring Security 版本,至少自從它開始擁有 Java 配置 DSL 以來是這樣!

看看那些釋出說明。看到那些關於Passkeys一次性令牌登入的微不足道的部分了嗎?嗯。那是謊言…

Bootiful Spring Boot 3.4:Spring Framework

工程 | Josh Long | 2024 年 11 月 24 日 | ...

Spring Framework 6.2 的釋出說明詳細介紹了所有新功能。我不會在這裡贅述,但以下是一些吸引我眼球的功能:

  • 自動裝配排序中的泛型型別安全得到改進。
  • 更智慧、更最佳化的 Spring 表示式語言表示式。
  • 在 Web 應用程式以及 WebJars 支援中更高效地處理資源。
  • 對 Spring 的 JMS 支援和 STOMP-over-WebSocket 支援進行了最佳化。
  • 透過新的 HTMLUnit 依賴項、Spring MVC 測試的 AssertJ 風格 MvcTester 以及大大改進的測試中的模擬 bean,提供了改進的測試支援。
  • 支援 @Fallback bean 的概念,它本質上是 @Primary bean 的映象。
  • 後臺 bean 初始化。
  • 改進了資料到建構函式的繫結。

Spring Modulith 1.3 有什麼新內容?

工程 | Oliver Drotbohm | 2024 年 11 月 22 日 | ...

經過半年的開發,Spring Modulith 1.3 GA已經發布。它充滿了新功能、改進,而且——最重要的是——社群貢獻。讓我帶你瞭解其中一些最有趣的內容。

基線升級

一如既往,Spring Modulith 的新次要版本會升級到最新的 Spring Boot 和 Spring Framework 版本,分別是3.46.2。即便如此,我們仍然相容它們的前代版本,以便你可以選擇性地升級到 Spring Modulith 1.3,而無需升級到最新的 Boot 和 Framework 版本。

獲取 Spring 新聞通訊

透過 Spring 新聞通訊保持聯絡

訂閱

領先一步

VMware 提供培訓和認證,助您加速進步。

瞭解更多

獲得支援

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位制檔案,只需一份簡單的訂閱。

瞭解更多

即將舉行的活動

檢視 Spring 社群所有即將舉行的活動。

檢視所有