Руководство разработчика Azure Spring Cloud

Spring Cloud Azure интегрирует приложения Spring Boot с службами Azure. В этом руководстве разработчика объясняется, как управлять зависимостями, выбирать начальные и использовать примеры для ускорения разработки приложений Java.

Дополнительные сведения о поддерживаемых версиях см. в разделе Сопоставления версийSpring.

Получить помощь

Если у вас есть вопросы об этой документации, создайте проблему GitHub в одном из следующих репозиториев GitHub. Пул-реквесты также приветствуются.

репозитории GitHub Описание
Azure/azure-sdk-for-java Этот репозиторий содержит исходный код.
Azure-Samples/azure-spring-boot-samples Этот репозиторий содержит связанные примеры.
MicrosoftDocs/azure-dev-docs Этот репозиторий содержит документацию.

Начало работы

Настройка зависимостей

Спецификация материалов (BOM)

Если вы используете Maven, добавьте BOM в файл pom.xml в разделе dependencyManagement, как показано в следующем примере. При использовании BOM вам не нужно указывать версии для любой из зависимостей Maven, так как BOM обрабатывает управление версиями.

<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 следующим образом:

  • Используйте встроенную поддержку BOM Gradle, добавив зависимости, как показано в следующем примере.

    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 и импортируйте BOM в dependencyManagement, как показано в следующем примере.

    plugins {
        id("io.spring.dependency-management") version "1.1.7"
    }
    
    dependencyManagement {
        imports {
            mavenBom("com.azure.spring:spring-cloud-azure-dependencies:{version}")
        }
    }
    

Дополнительные сведения см. в Справочном руководстве по подключаемому модулю Gradle для Spring Boot.

Заметка

Если вы используете 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> разделе файла pom.xml. Это гарантирует, что все зависимости Spring Cloud Azure используют одну и ту же версию.

Дополнительные сведения о версии, используемой для этого BOM, см. в статье Какую версию 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-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.
spring-cloud-azure-starter-keyvault-jca Начало использования Azure Key Vault JCA.
spring-cloud-azure-starter-keyvault-certificates Начальный шаблон для работы с сертификатами Azure Key Vault.
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-actuator Стартер для использования Actuator в Spring Boot, который предоставляет функции, готовые к использованию в рабочей среде.

В следующей таблице перечислены стартеры для поддержки Spring Data:

Имя Описание
spring-cloud-azure-starter-data-cosmos Начало использования Spring Data для Azure Cosmos DB.

В следующей таблице перечислены стартеры для поддержки Spring Data Redis:

Имя Описание
spring-cloud-azure-starter-data-redis-lettuce Стартер для работы с Spring Data и Кэш Azure для Redis с использованием Lettuce.

В следующей таблице перечислены стартеры для поддержки 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 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 MySQLs и 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

В этой документации рассматриваются изменения, внесенные в версии 4.0 с 3.10. Этот крупный релиз приносит повышенную безопасность, менее громоздкие зависимости, поддержку готовности к промышленной эксплуатации и многое другое.

Совет

Дополнительные сведения о миграции на 4.0 см. в руководстве по миграции 4.0.

В следующем списке приведены некоторые изменения, которые предоставляет Spring Cloud Azure 4.0:

  • Единый интерфейс разработки с унифицированным именем проекта, идентификатором артефакта и свойствами.
  • Упрощённое управление зависимостями с использованием одного spring-cloud-azure-dependencies BOM-файла.
  • Расширена поддержка Azure в Spring Initializr: добавлена поддержка Kafka, Центров событий, Кэш Azure для Redis и Конфигурация приложений Azure.
  • Переработал архитектуру зависимостей модуля Spring, чтобы устранить избыточные слои и сильную связанность.
  • Поддержка управляемых удостоверений для Конфигурация приложений Azure, Центров событий, служебная шина, Azure Cosmos DB, Key Vault, BLOB-объектов хранилища и очереди хранилища.
  • Сохранена поддержка методов аутентификации в базовом Azure SDK через наши библиотеки Spring, таких как токен SAS и аутентификация на основе учетных данных токена для служебная шина и Event Hubs.
  • Цепочка учетных данных теперь включена по умолчанию, что позволяет приложениям получать учетные данные из свойств приложения, переменных среды, управляемой идентификации, интегрированных сред разработки (IDE) и т. д. Дополнительные сведения см. в разделе DefaultAzureCredential клиентской библиотеки Azure Identity для Java.
  • Детализированное управление доступом на уровне ресурса (например, очереди служебная шина) для повышения эффективности управления безопасностью и соблюдения ИТ-политик.
  • Больше возможностей доступно в привычном для Spring стиле благодаря расширенному охвату автоконфигурации клиентов Azure SDK как для синхронных, так и для асинхронных сценариев.
  • Добавлены индикаторы работоспособности для Конфигурация приложений Azure, Центров событий, Azure Cosmos DB, Key Vault, BLOB-объектов хранилища, очереди хранилища и файла хранилища.
  • Поддержка Spring Cloud Sleuth для всех пакетов SDK Azure, использующих HTTP.