Spring Cloud Azure 开发人员指南

本文适用于: ✔️版本 4.14.0 ✔️ 版本 5.8.0

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 提供的一些更改:

  • 具有统一项目名称、项目 ID 和属性的统一开发体验。
  • 使用单个 spring-cloud-azure-dependencies BOM 简化了依赖项管理。
  • 在 Spring Initializr展开Azure 支持,以涵盖 Kafka、事件中心、Azure Redis 缓存和Azure 应用程序配置。
  • 重新架构 Spring 模块依赖项以删除多余的层和纠缠。
  • 托管标识支持Azure 应用程序配置、事件中心、服务总线、Azure Cosmos DB、密钥库、存储 Blob 和存储队列。
  • 继续支持 Spring 库中的基础 Azure SDK 中的身份验证方法,例如使用 服务总线 和事件中心进行 SAS 令牌和令牌凭据身份验证。
  • 凭据链现已默认启用,使应用程序能够从应用程序属性、环境变量、托管标识、IDE 等获取凭据。 有关详细信息,请参阅适用于 Java 的 Azure 标识客户端库的 DefaultAzureCredential 部分。
  • 在资源级别(如服务总线队列)进行精细访问控制,以便更好地管理安全并遵守 IT 策略。
  • 通过显著改进了同步和异步方案的 Azure SDK 客户端的自动配置覆盖,在 Spring-idiomatic 中公开了更多选项。
  • 添加了Azure 应用程序配置、事件中心、Azure Cosmos DB、密钥库、存储 Blob、存储 队列和存储文件的运行状况指示器。
  • Spring Cloud Sleuth 支持所有基于 HTTP 的 Azure SDK。

4.0 迁移指南

有关迁移到 4.0 的详细信息,请参阅 4.0 的迁移指南。

使用入门

设置依赖项

物料清单 (BOM)

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>com.azure.spring</groupId>
      <artifactId>spring-cloud-azure-dependencies</artifactId>
      <version>4.14.0</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

注意

如果使用 Spring Boot 3.x,请确保将 spring-cloud-azure-dependencies 版本设置为 5.8.0。 有关该 spring-cloud-azure-dependencies 版本的详细信息,请参阅 我应使用哪个版本的 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 将 Azure Active Directory B2C 与 Spring Security 配合使用的入门。
spring-cloud-azure-starter-appconfiguration 使用Azure 应用程序配置的初学者。
spring-cloud-azure-starter-cosmos 使用 Azure Cosmos DB 的入门方法。
spring-cloud-azure-starter-eventhubs 使用Azure 事件中心的初学者。
spring-cloud-azure-starter-keyvault 用于使用 Azure 密钥库的初学者。
spring-cloud-azure-starter-keyvault-secrets 使用 Azure 密钥库 机密的入门方法。
spring-cloud-azure-starter-keyvault-certificates 使用 Azure 密钥库 证书的初学者。
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 存储队列的初学者。
spring-cloud-azure-starter-initialize 使用 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 Integration 的初学者。
spring-cloud-azure-starter-integration-servicebus 使用 Azure 服务总线 和 Spring Integration 的初学者。
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-servicebus 使用 Azure 服务总线 和 Spring Cloud Stream Binder 的初学者。

下表列出了 MySQL 支持的初学者:

名称 描述
spring-cloud-azure-starter-jdbc-mysql 通过 Microsoft Entra 身份验证使用 Azure MySQLs 和 JDBC 的入门方法。

下表列出了 PostgreSQL 支持的初学者:

名称 描述
spring-cloud-azure-starter-jdbc-postgresql 通过 Microsoft Entra 身份验证使用 Azure PostgreSQL 和 JDBC 的初学者。

学习 Spring Cloud Azure

我们准备了一个完整的示例列表来显示使用情况。 可以在 Spring Cloud Azure 示例中找到 这些示例