Spring 是由 VMware 開發的一個開源應用程式框架,提供簡化且模組化的方法來建立 Java 應用程式。 Spring Cloud Azure 是一個開源專案,提供與 Azure 無縫整合的 Spring。
欲了解更多支援版本資訊,請參閱 Spring Versions Mapping。
取得說明
如果你對這份文件有任何疑問,請在以下 GitHub 倉庫建立一個 GitHub 議題。 也歡迎提取要求。
| GitHub 倉庫 | 描述 |
|---|---|
| Azure/azure-sdk-for-java | 此存放庫會保存原始程式碼。 |
| Azure-Samples/azure-spring-boot-samples | 這個資料庫保存了相關樣本。 |
| MicrosoftDocs/azure-dev-docs | 此存放庫會保存檔。 |
開始
設定相依性
材料帳單(BOM)
如果您使用 Maven,請將 BOM 新增至 區段中的 dependencyManagement 檔案,如下列範例所示。 當您使用 BOM 時,不需要為任何 Maven 相依性指定版本,因為版本控制會委派給 BOM。
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>spring-cloud-azure-dependencies</artifactId>
<version>7.1.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.1.0.
如果你用的是 Spring Boot 3.5.x,記得把版本設 spring-cloud-azure-dependencies 成 6.1.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 模組所需的所有相依與傳遞依賴。 這些入門工具能提升你的 Spring Boot 應用程式開發,並搭配 Azure 服務。
舉例來說,如果你想開始使用 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 | 這是使用 Azure Active Directory B2C 搭配 Spring Security 的起始工具。 |
| spring-cloud-azure-starter-app配置 | 使用 Azure App Configuration 的起始程式。 |
| spring-cloud-azure-starter-appconfiguration-config | 這是使用 Azure App Configuration Configuration 的起始工具。 |
| spring-cloud-azure-starter-cosmos | 這是使用 Azure Cosmos 資料庫的入門工具。 |
| spring-cloud-azure-starter-eventhubs | 使用 Azure Event Hubs 的起始工具。 |
| spring-cloud-azure-starter-eventgrid | 使用 Azure Event Grid 的起始器。 |
| spring-cloud-azure-starter-keyvault(Spring Cloud Azure 入門組件,適用於金鑰庫管理) | 使用 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-證書 | 使用 Azure Key Vault Certificates 的起始工具。 |
| spring-cloud-azure-starter-service總線 | 這是使用 Azure Service Bus 的起始程式。 |
| spring-cloud-azure-starter-servicebus-jms | 這是使用 Azure Service Bus 和 JMS 的起始程式。 |
| spring-cloud-azure-starter-storage | 使用 Azure Storage 的入門工具。 |
| spring-cloud-azure-starter-storage-blob | 使用 Azure Storage Blob 的起始工具。 |
| spring-cloud-azure-starter-storage-file-share | 使用 Azure Storage 檔案共享的起始工具。 |
| spring-cloud-azure-starter-storage-queue | 使用 Azure Storage Queue 的起始工具。 |
| spring-cloud-azure-starter-一個執行器 | 這是使用 Spring Boot 執行器時的起始工具,提供生產準備的功能。 |
下表列出 Spring Data 支援的入門:
| 名字 | 描述 |
|---|---|
| spring-cloud-azure-starter-data-cosmos | 這是使用 Azure Cosmos DB 的 Spring Data 的起始工具。 |
下表列出支援 Spring Data Redis 的先發球員:
| 名字 | 描述 |
|---|---|
| spring-cloud-azure-starter-data-redis-lettuce | 這是使用 Spring Data 和 Azure Cache for Redis 搭配 Lettuce 的入門工具。 |
下表列出 Spring Integration 支援的入門:
| 名字 | 描述 |
|---|---|
| spring-cloud-azure-starter-integration-eventhubs | 這是使用 Azure Event Hubs 和 Spring Integration 的入門工具。 |
| spring-cloud-azure-starter-integration-servicebus | 用 Azure Service Bus 和 Spring Integration 的起始程式。 |
| spring-cloud-azure-starter-integration-storage-queue | 這是使用 Azure Storage Queue 和 Spring Integration 的起始工具。 |
下表列出 Spring Cloud Stream 支援的入門:
| 名字 | 描述 |
|---|---|
| spring-cloud-azure-starter-stream-eventhubs | 這是使用 Azure Event Hubs 和 Spring Cloud Stream Binder 的起始工具。 |
| spring-cloud-azure-starter-stream-service總線 | 這是使用 Azure Service Bus 和 Spring Cloud Stream Binder 的起始工具。 |
下表列出 MySQL 支援的入門:
| 名字 | 描述 |
|---|---|
| spring-cloud-azure-starter-jdbc-mysql | 這是使用 Azure MySQL 和 JDBC 透過 Microsoft Entra 認證的起始工具。 |
下表列出 PostgreSQL 支援的入門:
| 名字 | 描述 |
|---|---|
| spring-cloud-azure-starter-jdbc-postgresql(Spring雲-微軟Azure-啟動程序-JDBC-PostgreSQL) | 這是使用 Azure PostgreSQL 和 JDBC 透過 Microsoft Entra 認證的起始工具。 |
Learning Spring Cloud Azure
欲查看完整使用樣本清單,請參見 Spring Cloud Azure Samples。
自 3.10.x 起的 4.0 新功能
本文件涵蓋自 3.10 以來 4.0 所做的變更。 此主要版本提供更佳的安全性、更精簡的相依性、生產整備支援等等。
提示
如需移轉至 4.0 的詳細資訊,請參閱 4.0的
以下列表總結了 Spring Cloud Azure 4.0 提供的一些變更:
- 具有統一項目名稱、成品標識碼和屬性的整合開發體驗。
- 使用單一
spring-cloud-azure-dependenciesBOM 簡化相依性管理。 - 在 Spring Initializr 上擴展Azure support,涵蓋 Kafka、Event Hubs、Azure Cache for Redis 和 Azure App Configuration。
- 重新架構 Spring 模組相依性,以移除多餘的層和糾纏。
- Managed Identity 支援 Azure App Configuration、Event Hubs、Service Bus、Azure Cosmos DB、Key Vault、Storage Blob 同 Storage Queue.
- 持續支援我們 Spring 函式庫中底層 Azure SDK 的認證方法,例如 SAS 令牌及 Service Bus 與事件集線器的令牌憑證認證。
- 認證鏈結現在預設會啟用,讓應用程式從應用程式屬性、環境變數、受控識別、IDE 等取得認證。 欲了解更多資訊,請參閱 Java
Azure Identity 客戶端函式庫中 DefaultAzureCredential 章節。 - 資源層級的細緻存取控制(如 Service Bus 佇列),以促進更好的安全治理與 IT 政策的遵守。
- 透過改善 Azure SDK 用戶端的自動設定覆蓋,涵蓋同步與非同步情境,展現更多 Spring 特色的選項。
- 新增了 Azure App Configuration、Event Hubs、Azure Cosmos DB、Key Vault、Storage Blob、Storage Queue 和 Storage File 的健康指標。
- Spring Cloud Sleuth 支援所有基於 HTTP 的 Azure SDKs。