Guide du développeur Azure Spring Cloud

Spring Cloud Azure intègre des applications Spring Boot avec des services Azure. Ce guide du développeur explique comment gérer les dépendances, choisir des démarrages et utiliser des exemples pour accélérer Java développement d’applications.

Pour plus d’informations sur les versions prises en charge, consultez Correspondance des versions de Spring.

Obtenir de l’aide

Si vous avez des questions sur cette documentation, créez un problème de GitHub dans l’un des référentiels GitHub suivants. Les pull requests sont également les bienvenues.

référentiels GitHub Descriptif
Azure/azure-sdk-for-java Ce référentiel contient le code source.
Azure-Samples/azure-spring-boot-samples Ce référentiel contient les exemples associés.
MicrosoftDocs/azure-dev-docs Ce référentiel contient la documentation.

Commencer

Configuration des dépendances

Nomenclature (NOM)

Si vous utilisez Maven, ajoutez le boM à votre fichier pom.xml dans la section dependencyManagement, comme illustré dans l’exemple suivant. Lorsque vous utilisez le boM, vous n’avez pas besoin de spécifier des versions pour les dépendances Maven, car le boM gère le contrôle de version.

<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>

Avec Gradle, vous pouvez importer le spring-cloud-azure-dependencies BOM de la manière suivante :

  • Utilisez la prise en charge native des nomenclatures (BOM) de Gradle en ajoutant des dépendances, comme indiqué dans l’exemple suivant.

    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}"))
    }
    
  • Utilisez le io.spring.dependency-management plug-in et importez le boM dans dependencyManagement, comme illustré dans l’exemple suivant.

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

Pour plus d’informations, consultez Guide de référence du plug-in Spring Boot Gradle.

Remarque

Si vous utilisez Spring Boot 4.0.x, définissez la version de spring-cloud-azure-dependencies sur 7.4.0.

Si vous utilisez Spring Boot 3.5.x, définissez la version spring-cloud-azure-dependencies sur 6.5.0.

Si vous utilisez Spring Boot 3.1.x-3.5.x, veillez à définir la version spring-cloud-azure-dependencies sur 5.25.0.

Si vous utilisez Spring Boot 2.x, assurez-vous de définir la version spring-cloud-azure-dependencies sur 4.20.0.

Cette liste de matériel (BOM) doit être configurée dans la section <dependencyManagement> de votre fichier pom.xml. Cela garantit que toutes les dépendances spring Cloud Azure utilisent la même version.

Pour plus d’informations sur la version utilisée pour ce boM, consultez Which Version of Spring Cloud Azure Should I Use.

Dépendances de démarrage

Spring Cloud Azure Starters est un ensemble de descripteurs de dépendance pratiques à inclure dans votre application. Chaque démarrage contient toutes les dépendances et dépendances transitives nécessaires pour commencer à utiliser leur module Spring Cloud Azure correspondant. Ces démarrages renforcent votre développement d’applications Spring Boot avec Azure services.

Par exemple, si vous souhaitez commencer à utiliser Spring et Azure Cosmos DB pour la persistance des données, incluez la dépendance spring-cloud-azure-starter-cosmos dans votre projet.

Le tableau suivant répertorie les démarrages d’application fournis par Spring Cloud Azure sous le groupe com.azure.spring :

Nom Descriptif
spring-cloud-azure-starter Le starter principal, avec prise en charge de l’auto-configuration.
spring-cloud-azure-starter-active-directory Démarrage de l’utilisation de Microsoft Entra ID avec Spring Security.
spring-cloud-azure-starter-active-directory-b2c Démarrage de l’utilisation de Azure Active Directory B2C avec Spring Security.
spring-cloud-azure-starter-appconfiguration Guide de démarrage pour utiliser Azure App Configuration.
spring-cloud-azure-starter-appconfiguration-config Guide de démarrage pour utiliser Azure App Configuration Config.
spring-cloud-azure-starter-cosmos Démarrage de l’utilisation de Azure Cosmos DB.
spring-cloud-azure-starter-eventhubs Démarrage de l’utilisation de Azure Event Hubs.
spring-cloud-azure-starter-eventgrid Démarrage de l’utilisation de Azure Event Grid.
spring-cloud-azure-starter-keyvault Démarrage de l’utilisation de Azure Key Vault.
spring-cloud-azure-starter-keyvault-secrets Modèle de démarrage pour utiliser les secrets Azure Key Vault.
spring-cloud-azure-starter-keyvault-jca Le module de démarrage pour utiliser Azure Key Vault JCA.
spring-cloud-azure-starter-keyvault-certificates Démarrage de l’utilisation de certificats Azure Key Vault.
spring-cloud-azure-starter-servicebus Démarrage de l’utilisation de Azure Service Bus.
spring-cloud-azure-starter-servicebus-jms Le starter pour utiliser Azure Service Bus et JMS.
spring-cloud-azure-starter-storage Démarrage de l’utilisation de stockage Azure.
spring-cloud-azure-starter-storage-blob Kit de démarrage pour utiliser stockage Azure Blob.
spring-cloud-azure-starter-storage-file-share Guide de démarrage pour utiliser le partage de fichiers stockage Azure.
spring-cloud-azure-starter-storage-queue Modèle de démarrage pour utiliser stockage Azure Queue.
spring-cloud-azure-starter-actuator Démarrage de l’utilisation de l’actionneur Spring Boot, qui fournit des fonctionnalités prêtes pour la production.

Le tableau suivant répertorie les starters pour la prise en charge de Spring Data :

Nom Descriptif
spring-cloud-azure-starter-data-cosmos Démarrage de l’utilisation de Spring Data pour Azure Cosmos DB.

Le tableau suivant répertorie les démarrages pour la prise en charge de Spring Data Redis :

Nom Descriptif
spring-cloud-azure-starter-data-redis-lettuce Le starter pour utiliser Spring Data et Azure Cache pour Redis avec Lettuce.

Le tableau suivant répertorie les démarrages pour la prise en charge de Spring Integration :

Nom Descriptif
spring-cloud-azure-starter-integration-eventhubs Le starter pour utiliser Azure Event Hubs et Spring Integration.
spring-cloud-azure-starter-integration-servicebus Guide de démarrage pour utiliser Azure Service Bus et Spring Integration.
spring-cloud-azure-starter-integration-storage-queue Modèle de démarrage pour utiliser stockage Azure Queue et l’intégration Spring.

Le tableau suivant répertorie les démarrages pour la prise en charge de Spring Cloud Stream :

Nom Descriptif
spring-cloud-azure-starter-stream-eventhubs Point de départ pour utiliser Azure Event Hubs et Spring Cloud Stream Binder.
spring-cloud-azure-starter-stream-servicebus Démarrage de l’utilisation de Azure Service Bus et spring Cloud Stream Binder.

Le tableau suivant répertorie les starters pour la prise en charge de MySQL :

Nom Descriptif
spring-cloud-azure-starter-jdbc-mysql Guide de démarrage pour utiliser Azure Database for MySQL et JDBC avec l’authentification Microsoft Entra.

Le tableau suivant répertorie les démarrages pour la prise en charge de PostgreSQL :

Nom Descriptif
spring-cloud-azure-starter-jdbc-postgresql Démarrage de l’utilisation de Azure PostgreSQL et JDBC via l’authentification Microsoft Entra.

Apprendre Spring Cloud Azure

Pour obtenir la liste complète des exemples qui montrent l’utilisation, consultez Spring Cloud Azure Samples.

Nouveautés de la version 4.0 depuis la version 3.10.x

Cette documentation traite des modifications apportées à la version 4.0 depuis la version 3.10. Cette version majeure apporte une meilleure sécurité, des dépendances plus légères, la prise en charge de la préparation de la production, etc.

Pourboire

Pour plus d’informations sur la migration vers la version 4.0, consultez guide de migration pour la version 4.0.

La liste suivante résume certaines des modifications que Spring Cloud Azure 4.0 fournit :

  • Expérience de développement unifiée, avec le nom de projet unifié, l’ID d’artefact et les propriétés.
  • Gestion simplifiée des dépendances à l’aide d’un seul spring-cloud-azure-dependencies BOM.
  • Extension de la prise en charge d’Azure dans Spring Initializr afin d’inclure Kafka, Event Hubs, Azure Cache pour Redis et Azure App Configuration.
  • Réarchitecture les dépendances de module Spring pour supprimer les couches excédentaires et l’enchevêtrement.
  • Prise en charge des identités managées pour Azure App Configuration, Event Hubs, Service Bus, Azure Cosmos DB, Key Vault, Blob de stockage et File d’attente de stockage.
  • Prise en charge continue, dans nos bibliothèques Spring, des méthodes d’authentification du SDK Azure sous-jacent, telles que l’authentification par jeton SAS et l’authentification par informations d’identification de jeton avec Service Bus et Event Hubs.
  • La chaîne d’informations d’identification est désormais activée par défaut, ce qui permet aux applications d’obtenir des informations d’identification à partir des propriétés de l’application, des variables d’environnement, de l’identité managée, des IDE, et ainsi de suite. Pour plus d’informations, consultez la section DefaultAzureCredential de Azure bibliothèque de client Identity pour Java.
  • Contrôle d’accès granulaire au niveau de la ressource (par exemple, une file d’attente Service Bus) afin de permettre une meilleure gouvernance de la sécurité et la conformité aux politiques informatiques.
  • Davantage d’options exposées conformément aux idiomes de Spring grâce à une meilleure prise en charge par l’auto-configuration des clients du SDK Azure, dans les scénarios synchrones comme asynchrones.
  • Ajout d’indicateurs d’intégrité pour Azure App Configuration, Event Hubs, Azure Cosmos DB, Key Vault, Stockage Blob, File d’attente de stockage et Fichier de stockage.
  • Prise en charge de Spring Cloud Sleuth pour toutes les SDK Azure basées sur HTTP.