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 dansdependencyManagement
, 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.
Créez un fichier custom.security
dans src/main/resources avec le contenu suivant :jdk.jar.disabledAlgorithms=MD2, MD5, RSA, DSA
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.