Spring gRPC 1.0.0 的後續步驟

工程 | Dave Syer | 2025 年 11 月 5 日 | ...

這是Road to GA 系列的一篇新部落格文章,這次我們將向大家更新關於將 Spring gRPCSpring 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.01.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 版本的專案,應該會產生最小的干擾。

獲取 Spring 新聞通訊

透過 Spring 新聞通訊保持聯絡

訂閱

領先一步

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

瞭解更多

獲得支援

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

瞭解更多

即將舉行的活動

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

檢視所有