領先一步
VMware 提供培訓和認證,助您加速進步。
瞭解更多這是Road to GA 系列的一篇新部落格文章,這次我們將向大家更新關於將 Spring gRPC 與 Spring Boot 4 整合的計劃。最初的計劃是在 4.0 版本釋出時將 Spring gRPC 的自動配置遷移到 Spring Boot 中。不幸的是,我們一直未能找到時間來合併這一更改,但好訊息是,我們已經在現有的 Spring gRPC 專案中添加了對 Spring Boot 4 的支援,並計劃在未來幾天內釋出 1.0 版本。這種安排將持續到合併最終完成,最有可能在 Spring Boot 4.1 的早期里程碑中實現。尋求長期支援的 Spring gRPC 使用者將透過此路徑獲得支援,並且只要他們繼續升級 Spring Boot,這將是一個非常簡單的過程。
在過渡期(Spring gRPC 1.0 和 Spring Boot 4.0),BOM(材料清單)、自動配置和啟動器(它們是使用 Spring gRPC 的推薦機制)將保持其當前的座標,即 groupId 為 org.springframework.grpc。因此,如果您一直在使用 Spring gRPC 0.12.0,您很可能只需更改依賴管理中的版本。自動配置類本身的包名將發生變化,因此如果您碰巧在任何地方顯式使用這些類(這可能是一個少數用例),您可能也需要更改匯入。您可能還需要對應用程式進行其他更改,以適應從 Spring Boot 3.x 到 4.x 的遷移。
一旦自動配置合併(預計在 Spring Boot 4.1 中),您將不再需要單獨的 BOM,您只需更改依賴管理中啟動器的座標。屆時我們將釋出明確的指導。
假設您有一個基於舊版 0.12.0 的 gRPC 伺服器。使用 Maven,它將如下所示:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.grpc</groupId>
<artifactId>spring-grpc-dependencies</artifactId>
<version>0.12.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.grpc</groupId>
<artifactId>spring-grpc-spring-boot-starter</artifactId>
</dependency>
...
要升級到 1.0.0,您只需更改 <version>。Gradle 也同樣適用 - 只需更改依賴管理中的版本
dependencyManagement {
imports {
mavenBom 'org.springframework.grpc:spring-grpc-dependencies:0.12.0'
}
}
dependencies {
implementation 'org.springframework.grpc:spring-grpc-spring-boot-starter'
...
從 0.12.0 到 1.0.0。
如果您像上面的示例和 Spring gRPC 中的示例一樣,使用啟動器來管理依賴項,那麼您的應用程式其餘程式碼應該不需要任何更改。
如果您直接引用自動配置類,包匯入將發生變化,例如,對於伺服器,您可能有一個 GrpcServerFactoryCustomizer。專案中的所有示例都不需要這樣做,因此您可能也不需要做任何事情。
Spring gRPC 中的自動配置和啟動器依賴項將在釋出時立即棄用。這是故意的,也無需擔心。它只是明確表示我們計劃在下一個次要版本(1.1.0 和 Spring Boot 4.1)中取代它們,因此所有棄用都只是為了預期依賴座標中的名稱更改。應該沒有必要棄用類或方法 - 我們希望遷移到下一個版本儘可能簡單。棄用將以 1.0.0 版本釋出時重複此公告的形式出現。
Spring gRPC 1.0 即將釋出,並提供通常的開源和商業支援安排。在常規儲存庫位置有可供嘗試的快照,以及 1.0.0-RC1(截至 2025/11/12)可供過渡到 1.0.0。新版本將依賴於 Spring Boot 4.0,而不是像最初計劃的那樣作為 Spring Boot 的一個依賴項。對於已經使用 Spring gRPC 0.x 版本的專案,應該會產生最小的干擾。