共用方式為


Spring Cloud Azure 開發人員指南

Spring 是由 VMware 開發的開放原始碼應用程式架構,可提供簡化的模組化方法來建立 Java 應用程式。 Spring Cloud Azure 是開放原始碼專案,可提供與 Azure 的無縫 Spring 整合。

如需支援版本的詳細資訊,請參閱 Spring Versions Mapping

取得說明

如果您有關於此檔的任何問題,請在下列其中一個 GitHub 存放庫中建立 GitHub 問題。 也歡迎提取要求。

GitHub 存放庫 描述
azure/azure-sdk-for-java 此存放庫會保存原始程式碼。
MicrosoftDocs/azure-dev-docs 此存放庫會保存檔。

自 3.10.x 起的 4.0 新功能

本文件涵蓋自 3.10 以來 4.0 所做的變更。 此主要版本提供更佳的安全性、更精簡的相依性、生產整備支援等等。

提示

如需移轉至 4.0 的詳細資訊,請參閱 4.0的 移轉指南。

下列清單摘要說明 Spring Cloud Azure 4.0 所提供的一些變更:

  • 具有統一項目名稱、成品標識碼和屬性的整合開發體驗。
  • 使用單一 spring-cloud-azure-dependencies BOM 簡化相依性管理。
  • Spring Initializr 上的擴充 Azure 支援,涵蓋 Kafka、事件中樞、Azure Cache for Redis 和 Azure 應用程式組態。
  • 重新架構 Spring 模組相依性,以移除多餘的層和糾纏。
  • Azure 應用程式組態、事件中樞、服務總線、Azure Cosmos DB、Key Vault、記憶體 Blob 和記憶體佇列的受控識別支援。
  • 從我們的 Spring 連結庫持續支援基礎 Azure SDK 中的驗證方法,例如使用服務總線和事件中樞的 SAS 令牌和令牌認證驗證。
  • 認證鏈結現在預設會啟用,讓應用程式從應用程式屬性、環境變數、受控識別、IDE 等取得認證。 如需詳細資訊,請參閱適用於 Java的 Azure 身分識別用戶端連結庫 DefaultAzureCredential 一節。
  • 資源層級的細微訪問控制(例如服務總線佇列)可啟用更佳的安全性治理和遵循 IT 原則。
  • 透過針對同步和異步案例改善的 Azure SDK 用戶端自動設定涵蓋範圍,以 Spring-idiomatic 方式公開更多選項。
  • 已新增 Azure 應用程式組態、事件中樞、Azure Cosmos DB、Key Vault、記憶體 Blob、記憶體佇列和記憶體檔案的健康情況指標。
  • Spring Cloud Sleuth 支援所有 HTTP 型 Azure SDK。

4.0 的移轉指南

如需移轉至 4.0 的詳細資訊,請參閱 4.0的 移轉指南。

開始

設定相依性

材料帳單(BOM)

如果您使用 Maven,請將 BOM 新增至 區段中的 dependencyManagement 檔案,如下列範例所示。 當您使用 BOM 時,不需要為任何 Maven 相依性指定版本,因為版本控制會委派給 BOM。

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>com.azure.spring</groupId>
      <artifactId>spring-cloud-azure-dependencies</artifactId>
      <version>6.0.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 "3.2.O"
    }
    
    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.0"
    }
    
    dependencyManagement {
        imports {
            mavenBom("com.azure.spring:spring-cloud-azure-dependencies:{version}")
        }
    }
    

如需詳細資訊,請參閱 Spring Boot Gradle 外掛程式參考指南

注意

如果您使用的是 Spring Boot 3.0.x-3.4.x,請務必將版本設定 spring-cloud-azure-dependencies5.23.0

如果您使用 Spring Boot 2.x,請務必將 spring-cloud-azure-dependencies 版本設定為 4.20.0

此材料帳單 (BOM) 應該在 <dependencyManagement> 檔案的 區段中設定。 這可確保所有 Spring Cloud Azure 相依性都使用相同的版本。

如需此 BOM 所用版本的詳細資訊,請參閱 I Use的 Spring Cloud Azure 版本。

入門相依性

Spring Cloud Azure 入門版是一組方便的相依性描述元,可包含在您的應用程式中。 每個入門都包含開始使用其對應 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 搭配 Spring Security 使用 Microsoft Entra ID 的入門。
spring-cloud-azure-starter-active-directory-b2c 搭配 Spring Security 使用 Azure Active Directory B2C 的入門。
spring-cloud-azure-starter-app配置 使用 Azure 應用程式組態的入門。
spring-cloud-azure-starter-cosmos 使用 Azure Cosmos DB 的入門。
spring-cloud-azure-starter-eventhubs 使用 Azure 事件中樞的入門。
spring-cloud-azure-starter-keyvault(Spring Cloud Azure 入門組件,適用於金鑰庫管理) 使用 Azure Key Vault 的入門。
spring-cloud-azure-starter-keyvault-secrets 使用 Azure Key Vault 秘密的入門。
spring-cloud-azure-starter-keyvault-證書 使用 Azure Key Vault 憑證的入門。
spring-cloud-azure-starter-service總線 使用 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 記憶體佇列的入門。
spring-cloud-azure-starter-一個執行器 使用 Spring Boot 的執行器入門,其提供生產就緒的功能。

下表列出 Spring Data 支援的入門:

名字 描述
spring-cloud-azure-starter-data-cosmos 針對 Azure Cosmos DB 使用 Spring Data 的入門。

下表列出 Spring Integration 支援的入門:

名字 描述
spring-cloud-azure-starter-integration-eventhubs 使用 Azure 事件中樞和 Spring 整合的入門。
spring-cloud-azure-starter-integration-servicebus 使用 Azure 服務總線和 Spring 整合的入門。
spring-cloud-azure-starter-integration-storage-queue 使用 Azure 記憶體佇列和 Spring 整合的入門。

下表列出 Spring Cloud Stream 支援的入門:

名字 描述
spring-cloud-azure-starter-stream-eventhubs 使用 Azure 事件中樞和 Spring Cloud Stream Binder 的入門。
spring-cloud-azure-starter-stream-service總線 使用 Azure 服務總線和 Spring Cloud Stream Binder 的入門。

下表列出 MySQL 支援的入門:

名字 描述
spring-cloud-azure-starter-jdbc-mysql 透過 Microsoft Entra 驗證使用 Azure MySQLs 和 JDBC 的入門。

下表列出 PostgreSQL 支援的入門:

名字 描述
spring-cloud-azure-starter-jdbc-postgresql(Spring雲-微軟Azure-啟動程序-JDBC-PostgreSQL) 透過 Microsoft Entra 驗證使用 Azure PostgreSQL 和 JDBC 的入門。

學習 Spring Cloud Azure

如需顯示使用量的完整範例清單,請參閱 Spring Cloud Azure 範例