Spring Cloud Azure 將 Spring Boot 應用整合於 Azure 服務中。 這份開發者指南說明如何管理相依、選擇啟動程式,並利用範例加速 Java 應用程式開發。
欲了解更多支援版本資訊,請參閱 Spring Versions Mapping。
取得協助
如果你對這份文件有任何疑問,請在以下 GitHub 倉庫建立一個 GitHub 議題。 也歡迎提交 Pull Request。
| GitHub 倉庫 | 描述 |
|---|---|
Azure/azure-sdk-for-java |
此存放庫會保存原始程式碼。 |
Azure-Samples/azure-spring-boot-samples |
這個資料庫保存了相關樣本。 |
| MicrosoftDocs/azure-dev-docs | 此儲存庫包含說明文件。 |
開始
設定相依性
材料帳單(BOM)
如果您使用 Maven,請依照下列範例,將 BOM 新增到 pom.xml 檔案的 dependencyManagement 區段中。 使用物料清單時,你不必為任何 Maven 相依關係指定版本,因為物料清單會處理版本管理。
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>spring-cloud-azure-dependencies</artifactId>
<version>7.4.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
使用 Gradle,您可以透過下列方式匯入 spring-cloud-azure-dependencies BOM:
如以下範例所示,透過加入相依關係,使用 Gradle 原生的 BOM 支援。
import org.springframework.boot.gradle.plugin.SpringBootPlugin plugins { id("java") id("org.springframework.boot") version "4.0.1" } dependencies { implementation(platform(SpringBootPlugin.BOM_COORDINATES)) implementation(platform("com.azure.spring:spring-cloud-azure-dependencies:{version}")) }使用
io.spring.dependency-management外掛程式,並在dependencyManagement中匯入 BOM,如下列範例所示。plugins { id("io.spring.dependency-management") version "1.1.7" } dependencyManagement { imports { mavenBom("com.azure.spring:spring-cloud-azure-dependencies:{version}") } }
如需詳細資訊,請參閱 Spring Boot Gradle 外掛程式參考指南。
注意
如果你用的是 Spring Boot 4.0.x,請把版本設 spring-cloud-azure-dependencies 為 7.4.0。
如果你用的是 Spring Boot 3.5.x,請把版本設 spring-cloud-azure-dependencies 為 6.5.0。
如果你使用的是 Spring Boot 3.1.x-3.5.x,記得把版本設 spring-cloud-azure-dependencies 為 5.25.0.
如果您使用 Spring Boot 2.x,請務必將 spring-cloud-azure-dependencies 版本設定為 4.20.0。
此材料帳單 (BOM) 應該在 <dependencyManagement> 檔案的 區段中設定。 這可確保所有 Spring Cloud Azure 相依性皆使用相同的版本。
欲了解更多關於本物料清單所用版本的資訊,請參見 Spring Cloud Azure 應該使用哪個版本。
起始相依項目
Spring Cloud Azure Starters 是一組方便的相依性描述符,可以納入你的應用程式中。 每個起始程式都包含開始使用其對應 Spring Cloud Azure 模組所需的所有相依與傳遞依賴。 這些啟動器可加速你結合 Azure 服務的 Spring Boot 應用程式開發。
舉例來說,如果你想開始使用 Spring 和 Azure Cosmos DB 來做資料持久化,可以在專案中加入 spring-cloud-azure-starter-cosmos 相依。
下表列出 Spring Cloud Azure 在 com.azure.spring 群組下提供的應用程式啟動器:
| 名字 | 描述 |
|---|---|
spring-cloud-azure-starter |
核心啟動器,包含自動組態支援。 |
spring-cloud-azure-starter-active-directory |
使用 Microsoft Entra ID 搭配 Spring Security 的起始工具。 |
spring-cloud-azure-starter-active-directory-b2c |
在 Spring Security 中使用 Azure Active Directory B2C 的入門套件。 |
spring-cloud-azure-starter-appconfiguration |
Azure 應用程式組態 使用入門 |
spring-cloud-azure-starter-appconfiguration-config |
使用 Azure 應用程式組態 Config 的入門。 |
spring-cloud-azure-starter-cosmos |
Azure Cosmos DB 使用入門。 |
spring-cloud-azure-starter-eventhubs |
使用 Azure 事件中樞 的入門指南。 |
spring-cloud-azure-starter-eventgrid |
Azure 事件方格 使用入門 |
spring-cloud-azure-starter-keyvault |
Azure Key Vault 使用入門 |
spring-cloud-azure-starter-keyvault-secrets |
使用 Azure Key Vault Secrets 的起始碼。 |
spring-cloud-azure-starter-keyvault-jca |
用於 Azure Key Vault JCA 的入門套件。 |
spring-cloud-azure-starter-keyvault-certificates |
使用 Azure Key Vault Certificates 的起始工具。 |
spring-cloud-azure-starter-servicebus |
Azure 服務匯流排 使用入門 |
spring-cloud-azure-starter-servicebus-jms |
適用於 Azure 服務匯流排 和 JMS 的入門套件。 |
spring-cloud-azure-starter-storage |
使用 Azure 儲存體 的入門工具。 |
spring-cloud-azure-starter-storage-blob |
使用 Azure 儲存體 Blob 的起始工具。 |
spring-cloud-azure-starter-storage-file-share |
使用 Azure 儲存體 檔案共享的起始工具。 |
spring-cloud-azure-starter-storage-queue |
使用 Azure 儲存體 Queue 的入門範本。 |
spring-cloud-azure-starter-actuator |
這是使用 Spring Boot 執行器時的起始工具,提供生產準備的功能。 |
下表列出支援 Spring Data 的啟動器:
| 名字 | 描述 |
|---|---|
spring-cloud-azure-starter-data-cosmos |
用於 Spring Data for Azure Cosmos DB 的啟動程式。 |
下表列出支援 Spring Data Redis 的先發球員:
| 名字 | 描述 |
|---|---|
spring-cloud-azure-starter-data-redis-lettuce |
用於搭配 Lettuce 使用 Spring Data 和 Azure Cache for Redis 的啟動器。 |
下表列出 Spring Integration 支援的啟動器:
| 名字 | 描述 |
|---|---|
spring-cloud-azure-starter-integration-eventhubs |
用於 Azure 事件中樞 和 Spring Integration 的啟動器。 |
spring-cloud-azure-starter-integration-servicebus |
用於 Azure 服務匯流排 和 Spring Integration 的啟動器。 |
spring-cloud-azure-starter-integration-storage-queue |
這是使用 Azure 儲存體 Queue 和 Spring Integration 的起始工具。 |
下表列出 Spring Cloud Stream 支援的入門:
| 名字 | 描述 |
|---|---|
spring-cloud-azure-starter-stream-eventhubs |
用於 Azure 事件中樞 和 Spring Cloud Stream Binder 的啟動器。 |
spring-cloud-azure-starter-stream-servicebus |
用於 Azure 服務匯流排 與 Spring Cloud Stream Binder 的入門套件。 |
下表列出 MySQL 支援的入門:
| 名字 | 描述 |
|---|---|
spring-cloud-azure-starter-jdbc-mysql |
這是使用 Azure MySQL 和 JDBC 透過 Microsoft Entra 認證的起始工具。 |
下表列出 PostgreSQL 支援的入門:
| 名字 | 描述 |
|---|---|
spring-cloud-azure-starter-jdbc-postgresql |
這是使用 Azure PostgreSQL 和 JDBC 透過 Microsoft Entra 認證的起始工具。 |
學習 Spring Cloud Azure
欲查看完整使用樣本清單,請參見 Spring Cloud Azure Samples。
4.0 相較於 3.10.x 的新功能
本文件涵蓋自 3.10 以來 4.0 所做的變更。 此重大版本帶來更佳的安全性、更精簡的相依性、對正式上線準備的支援等多項改進。
提示
如需移轉至 4.0 的詳細資訊,請參閱 4.0的
以下列表總結了 Spring Cloud Azure 4.0 提供的一些變更:
- 具有統一項目名稱、成品標識碼和屬性的整合開發體驗。
- 使用單一
spring-cloud-azure-dependenciesBOM 簡化相依性管理。 - 在 Spring Initializr 上擴展Azure 支援,涵蓋 Kafka、Event Hubs、Azure Cache for Redis 和 Azure 應用程式組態。
- 重新架構 Spring 模組相依性,以移除多餘的層和糾纏。
- 支援 Azure 應用程式組態、Event Hubs、服務匯流排、Azure Cosmos DB、金鑰保存庫、Storage Blob 和 Storage Queue 的受控識別。
- 透過我們的 Spring 程式庫,持續支援底層 Azure SDK 中的驗證方法,例如適用於 服務匯流排 和 Event Hubs 的 SAS 權杖與權杖認證。
- 認證鏈結現在預設會啟用,讓應用程式從應用程式屬性、環境變數、受控識別、IDE 等取得認證。 如需詳細資訊,請參閱 Java 適用的 Azure Identity 用戶端程式庫中的 DefaultAzureCredential 一節。
- 在資源層級(例如 服務匯流排 佇列)實施精細的存取控制,以強化安全治理並確保符合 IT 政策。
- 透過提升 Azure SDK 用戶端在同步與非同步情境下的自動設定涵蓋範圍,以符合 Spring 慣用方式提供更多選項。
- 新增了 Azure 應用程式組態、Event Hubs、Azure Cosmos DB、金鑰保存庫、Storage Blob、Storage Queue 和 Storage File 的健康指標。
- Spring Cloud Sleuth 支援所有基於 HTTP 的 Azure SDK。