Partager via


Guide du développeur Spring Cloud Azure

Cet article s’applique à :✅ version 4.19.0 ✅ version 5.19.0

Spring est une infrastructure d’application open source développée par VMware qui fournit une approche simplifiée et modulaire pour la création d’applications Java. Spring Cloud Azure est un projet open source qui fournit une intégration spring transparente à Azure.

Pour plus d’informations sur les versions prises en charge, consultez mappage des versions spring.

Obtenir de l’aide

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

Référentiels GitHub Description
azure/azure-sdk-for-java Ce référentiel contient le code source.
MicrosoftDocs/azure-dev-docs Ce référentiel contient la documentation.

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.
  • Prise en charge d’Azure étendue sur Spring Initializr pour couvrir 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, Stockage Blob et File d’attente de stockage.
  • Prise en charge continue des méthodes d’authentification dans le Kit de développement logiciel (SDK) Azure sous-jacent à partir de nos bibliothèques Spring, telles que le jeton SAP et l’authentification des 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 bibliothèque de client Azure Identity pour Java.
  • Contrôle d’accès granulaire au niveau des ressources (comme la file d’attente Service Bus) pour permettre une meilleure gouvernance de la sécurité et l’adhésion aux stratégies informatiques.
  • Plus d’options exposées d’une manière Spring-idiomatique grâce à une couverture améliorée de la configuration automatique des clients du KIT de développement logiciel (SDK) Azure pour les scénarios synchrones et 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 tous les kits SDK Azure basés sur HTTP.

Guide de migration pour la version 4.0

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

Commencer

Configuration des dépendances

Bill of materials (BOM)

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 contrôle de version est délégué au boM.

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>com.azure.spring</groupId>
      <artifactId>spring-cloud-azure-dependencies</artifactId>
      <version>5.19.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 de Gradle en ajoutant des dépendances, comme illustré dans l’exemple suivant :

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

    plugins {
        id("io.spring.dependency-management") version "1.1.0"
    }
    
    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.

Note

Si vous utilisez Spring Boot 2.x, veillez à définir la version spring-cloud-azure-dependencies sur 4.19.0. Cette bill of Material (BOM) doit être configurée dans la section <dependencyManagement> de votre fichier pom.xml. Cela garantit que toutes les dépendances Azure Spring Cloud utilisent la même version. Pour plus d’informations sur la version utilisée pour ce boM, consultez Quelle version de Spring Cloud Azure dois-je utiliser.

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 Azure Spring Cloud correspondant. Ces démarrages renforcent votre développement d’applications Spring Boot avec les services Azure.

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 Description
spring-cloud-azure-starter Démarrage principal, y compris la prise en charge de la configuration automatique.
spring-cloud-azure-starter-active-directory Démarrage de l’utilisation de l’ID Microsoft Entra avec Spring Security.
spring-cloud-azure-starter-active-directory-b2c Démarrage pour l’utilisation d’Azure Active Directory B2C avec Spring Security.
spring-cloud-azure-starter-appconfiguration Démarrage pour l’utilisation d’Azure App Configuration.
spring-cloud-azure-starter-cosmos Démarrage pour l’utilisation d’Azure Cosmos DB.
spring-cloud-azure-starter-eventhubs Démarrage pour l’utilisation d’Azure Event Hubs.
spring-cloud-azure-starter-keyvault Démarrage pour l’utilisation d’Azure Key Vault.
spring-cloud-azure-starter-keyvault-secrets Démarrage pour l’utilisation des secrets Azure Key Vault.
spring-cloud-azure-starter-keyvault-certificates Démarrage pour l’utilisation de certificats Azure Key Vault.
spring-cloud-azure-starter-servicebus Démarrage pour l’utilisation d’Azure Service Bus.
spring-cloud-azure-starter-servicebus-jms Démarrage pour l’utilisation d’Azure Service Bus et JMS.
spring-cloud-azure-starter-storage Démarrage pour l’utilisation du stockage Azure.
spring-cloud-azure-starter-storage-blob Démarrage pour l’utilisation d’objets blob stockage Azure.
spring-cloud-azure-starter-storage-file-share Démarrage pour l’utilisation du partage de fichiers stockage Azure.
spring-cloud-azure-starter-storage-queue Démarrage pour l’utilisation de la file d’attente stockage Azure.
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 démarrages pour la prise en charge de Spring Data :

Nom Description
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 Integration :

Nom Description
spring-cloud-azure-starter-integration-eventhubs Démarrage de l’utilisation d’Azure Event Hubs et de Spring Integration.
spring-cloud-azure-starter-integration-servicebus Démarrage de l’utilisation d’Azure Service Bus et de Spring Integration.
spring-cloud-azure-starter-integration-storage-queue Démarrage de l’utilisation de la file d’attente de stockage Azure et de l’intégration Spring.

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

Nom Description
spring-cloud-azure-starter-stream-eventhubs Les démarrages pour l’utilisation d’Azure Event Hubs et spring Cloud Stream Binder.
spring-cloud-azure-starter-stream-servicebus Démarrage pour l’utilisation d’Azure Service Bus et spring Cloud Stream Binder.

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

Nom Description
spring-cloud-azure-starter-jdbc-mysql Les démarrages pour l’utilisation d’Azure MySQLs et JDBC via l’authentification Microsoft Entra.

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

Nom Description
spring-cloud-azure-starter-jdbc-postgresql Les démarrages pour l’utilisation d’Azure PostgreSQL et JDBC via l’authentification Microsoft Entra.

Configuration de Spring Boot 3

Les jars du Kit de développement logiciel (SDK) Azure nécessitent une vérification de signature. Toutefois, Spring Boot 3 ne prend pas en charge la vérification de signature JAR pour le mode avant-temps (AOT) sur une machine virtuelle JVM et pour les images natives. Pour plus d’informations, consultez Using Ahead-of-time Processing With the JVM and GraalVM Native Image Support.

Pour résoudre ce problème, désactivez la vérification de signature JAR.

  1. Créez un fichier custom.security dans src/main/resources avec le contenu suivant :

    jdk.jar.disabledAlgorithms=MD2, MD5, RSA, DSA
    
  2. Si vous utilisez Maven, ajoutez la configuration suivante :

    <plugin>
        <groupId>org.graalvm.buildtools</groupId>
        <artifactId>native-maven-plugin</artifactId>
        <configuration>
            <buildArgs>
                <arg>-Djava.security.properties=src/main/resources/custom.security</arg>
            </buildArgs>
        </configuration>
    </plugin>
    

    Si vous utilisez Gradle, ajoutez la configuration suivante :

    graalvmNative {
      binaries {
        main {
          buildArgs('-Djava.security.properties=' + file("$rootDir/custom.security").absolutePath)
        }
      }
    }
    

Learning Spring Cloud Azure

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