Partager via


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

Ajouter une clé-valeur

Ajoutez la clé-valeur suivante au magasin App Configuration et conservez les valeurs par défaut des options Étiquette et Type de contenu. Pour plus d’informations sur l’ajout de clés-valeurs à un magasin avec le Portail Azure ou l’interface CLI, consultez Création d’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 :

<dependencies>
    ...
    <dependency>
        <groupId>com.azure.spring</groupId>
        <artifactId>spring-cloud-azure-appconfiguration-config-web</artifactId>
    </dependency>
</dependencies>

<dependencyManagement>
    <dependencies>
        <dependency>
        <groupId>com.azure.spring</groupId>
        <artifactId>spring-cloud-azure-dependencies</artifactId>
        <version>6.0.0</version>
        <type>pom</type>
        <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
  1. Par défaut, la bibliothèque se connecte au magasin App Configuration par Identité managée. Suivez les instructions pour attribuer vos informations d’identification au rôle Lecteur de données App Configuration. Veillez à laisser suffisamment de temps pour que l’autorisation se propage avant d’exécuter votre application. Créez ensuite 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());
        }
    }
    

    Remarque

    En outre, vous pouvez utiliser l’authentification Spring Cloud Azure pour fournir des informations d’authentification. Lors de l’authentification avec la configuration Azure Spring, elle permet d’utiliser la même authentification pour toutes les bibliothèques Azure Spring.

  2. Créez ensuite une configuration Bootstrap Configuration en créant un fichier spring.factories sous le répertoire resources/META-INF et ajoutez les lignes suivantes et mettez à jour com.example.MyApplication avec le nom et le package de votre application :

    org.springframework.cloud.bootstrap.BootstrapConfiguration=\
    com.example.MyApplication
    
  3. Créez un fichier nommé application.properties sous le répertoire des ressources de votre application, puis ajoutez la ligne suivante au fichier.

    spring.config.import=azureAppConfiguration
    spring.cloud.azure.appconfiguration.stores[0].endpoint= ${APP_CONFIGURATION_ENDPOINT}
    

Lire depuis le magasin App Configuration

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.

  1. Créez un nouveau fichier Java nommé MyProperties.java et ajoutez les lignes suivantes :

    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.stereotype.Component;
    
    @Component
    @ConfigurationProperties(prefix = "config")
    public class MyProperties {
        private String message;
    
        public String getMessage() {
            return message;
        }
    
        public void setMessage(String message) {
            this.message = message;
        }
    }
    
  2. Créez un fichier Java nommé HelloController.java et ajoutez les lignes suivantes :

    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    public class HelloController {
    
        @Autowired
        private MyProperties properties; 
    
        @GetMapping
        public String getMessage() {
            return "Message: " + properties.getMessage();
        }
    }
    
  3. 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() {
        }
    
    }
    

Générer et exécuter l’application localement

  1. 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>'
    
  2. 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
    
  3. 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.

  1. Connectez-vous au portail Azure, puis sélectionnez Groupes de ressources.
  2. Dans la zone Filtrer par nom, entrez le nom de votre groupe de ressources.
  3. Dans la liste de résultats, sélectionnez le nom du groupe de ressources pour afficher une vue d’ensemble.
  4. Sélectionnez Supprimer le groupe de ressources.
  5. 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.