Démarrage rapide : Créer une application Java Spring avec Azure App Configuration
Dans ce guide de démarrage rapide, vous intégrez Azure App Configuration dans une application Java Spring pour centraliser le stockage et la gestion des paramètres d’application en dehors de votre code.
Prérequis
- Compte Azure avec un abonnement actif. Créez-en un gratuitement.
- Un magasin App Configuration. Créez un magasin.
- Kit de développement Java (JDK) pris en charge avec version 11.
- Apache Maven version 3.0 ou ultérieure
- Une application Spring Boot. Si vous n’en avez pas, créez un projet Maven avec Spring Initializr. Veillez à sélectionner Projet Maven et, sous Dépendances, ajoutez la dépendance Spring Web, puis sélectionnez Java version 8 ou ultérieure.
Ajouter une clé-valeur
Ajoutez la clé-valeur suivante au magasin App Configuration et laissez les valeurs par défaut pour Étiquette et Type de contenu. Pour plus d’informations sur l’ajout de clés-valeurs à un magasin avec le Portail Azure ou la CLI, consultez Créer une clé-valeur.
Clé | Valeur |
---|---|
/application/config.message | Hello |
Se connecter à un magasin App Configuration
Maintenant que vous avez un magasin App Configuration, vous pouvez utiliser le module de démarrage Spring Cloud Azure Config pour que votre application communique avec le magasin App Configuration que vous créez.
Pour installer le module de démarrage Spring Cloud Azure Config, ajoutez la dépendance suivante à votre fichier pom.xml :
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>spring-cloud-azure-appconfiguration-config-web</artifactId>
</dependency>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>spring-cloud-azure-dependencies</artifactId>
<version>5.18.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Coder l’application
Afin d’utiliser le module de démarrage Spring Cloud Azure Config pour que votre application communique avec le magasin App Configuration que vous créez, configurez l’application en utilisant les étapes suivantes.
Créez un nouveau fichier Java nommé MyProperties.java et ajoutez les lignes suivantes :
import org.springframework.boot.context.properties.ConfigurationProperties; @ConfigurationProperties(prefix = "config") public class MyProperties { private String message; public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } }
Créez un fichier Java nommé HelloController.java et ajoutez les lignes suivantes :
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class HelloController { private final MyProperties properties; public HelloController(MyProperties properties) { this.properties = properties; } @GetMapping public String getMessage() { return "Message: " + properties.getMessage(); } }
Dans le fichier Java principal de l’application, ajoutez
@EnableConfigurationProperties
pour que la classe de propriétés de configuration MyProperties.java prenne effet et enregistrez-la dans le conteneur Spring.import org.springframework.boot.context.properties.EnableConfigurationProperties; @SpringBootApplication @EnableConfigurationProperties(MyProperties.class) public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }
Vous utilisez le
DefaultAzureCredential
pour vous authentifier auprès de votre magasin App Configuration. Suivez les instructions pour attribuer à votre identifiant le rôle de lecteur de données de configuration de l'application. Veillez à laisser suffisamment de temps pour que l’autorisation se propage avant d’exécuter votre application. Créez un fichier nommé AppConfigCredential.java et ajoutez les lignes suivantes :import org.springframework.stereotype.Component; import com.azure.data.appconfiguration.ConfigurationClientBuilder; import com.azure.identity.DefaultAzureCredentialBuilder; import com.azure.spring.cloud.appconfiguration.config.ConfigurationClientCustomizer; @Component public class AppConfigCredential implements ConfigurationClientCustomizer { @Override public void customize(ConfigurationClientBuilder builder, String endpoint) { builder.credential(new DefaultAzureCredentialBuilder().build()); } }
Créez ensuite une configuration Bootstrap Configuration en créant un fichier
spring.factories
sous le répertoireresources/META-INF
et ajoutez les lignes suivantes et mettez à jourcom.example.MyApplication
avec le nom et le package de votre application :org.springframework.cloud.bootstrap.BootstrapConfiguration=\ com.example.MyApplication
Ouvrez le test unitaire automatiquement généré et faites une mise à jour pour désactiver Azure App Configuration, sinon il tente de se charger à partir du service pendant l’exécution des tests unitaires.
import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; @SpringBootTest(properties = "spring.cloud.azure.appconfiguration.enabled=false") class DemoApplicationTests { @Test void contextLoads() { } }
Créez un fichier nommé bootstrap.properties sous le répertoire des ressources de votre application et ajoutez la ligne suivante au fichier.
spring.cloud.azure.appconfiguration.stores[0].endpoint= ${APP_CONFIGURATION_ENDPOINT}
Définissez une variable d’environnement nommée APP_CONFIGURATION_ENDPOINT et affectez-lui la valeur de la clé d’accès vers votre magasin App Configuration. Sur la ligne de commande, exécutez la commande suivante et redémarrez l’invite de commandes pour que la modification soit prise en compte :
setx APP_CONFIGURATION_ENDPOINT "<endpoint-of-your-app-configuration-store>"
Si vous utilisez Windows PowerShell, exécutez la commande suivante :
$Env:APP_CONFIGURATION_ENDPOINT = "<endpoint-of-your-app-configuration-store>"
Si vous utilisez macOS ou Linux, exécutez la commande suivante :
export APP_CONFIGURATION_ENDPOINT='<endpoint-of-your-app-configuration-store>'
Générer et exécuter l’application localement
Ouvrez l’invite de commandes dans le répertoire racine et exécutez les commandes suivantes pour générer votre application Spring Boot avec Maven et l’exécuter.
mvn clean package mvn spring-boot:run
Lorsque votre application s’exécute, utilisez curl pour la tester. Par exemple :
curl -X GET http://localhost:8080/
Vous voyez le message que vous avez entré dans le magasin App Configuration.
Nettoyer les ressources
Si vous ne souhaitez plus utiliser les ressources créées dans cet article, supprimez le groupe de ressources que vous avez créé ici afin d’éviter des frais.
Important
La suppression d’un groupe de ressources est irréversible. Le groupe de ressources et toutes les ressources qu’il contient sont supprimés définitivement. Veillez à ne pas supprimer accidentellement les mauvaises ressources ou le mauvais groupe de ressources. Si vous avez créé les ressources pour cet article dans un groupe de ressources contenant d’autres ressources que vous souhaitez conserver, supprimez chaque ressource individuellement à partir de son volet, au lieu de supprimer l’intégralité du groupe de ressources.
- Connectez-vous au portail Azure, puis sélectionnez Groupes de ressources.
- Dans la zone Filtrer par nom, entrez le nom de votre groupe de ressources.
- Dans la liste de résultats, sélectionnez le nom du groupe de ressources pour afficher une vue d’ensemble.
- Sélectionnez Supprimer le groupe de ressources.
- Vous êtes invité à confirmer la suppression du groupe de ressources. Entrez le nom de votre groupe de ressources à confirmer, puis sélectionnez Supprimer.
Après quelques instants, le groupe de ressources et toutes ses ressources sont supprimés.
Étapes suivantes
En suivant ce guide de démarrage rapide, vous avez créé un magasin App Configuration et vous l’avez utilisé avec une application Java Spring. Pour plus d’informations, consultez Spring sur Azure. Pour trouver les réponses à d’autres questions, consultez la documentation de référence qui contient tous les détails sur le fonctionnement de la bibliothèque Spring Cloud Azure App Configuration. Pour savoir comment permettre à votre application Java Spring d’actualiser dynamiquement les paramètres de configuration, passez au tutoriel suivant.