Delen via


Quickstart: Een Java Spring-app maken met Azure-app-configuratie

In deze quickstart neemt u Azure App Configuration op in een Java Spring-console-app om opslag en beheer van toepassingsinstellingen gescheiden van uw code te centraliseren.

Vereisten

Een sleutelwaarde toevoegen

Voeg de volgende sleutelwaarde toe aan het App Configuration-archief en laat label en inhoudstype ongewijzigd met de standaardwaarden. Ga naar Een sleutelwaarde maken voor meer informatie over het toevoegen van sleutelwaarden aan een archief met behulp van Azure Portal of de CLI.

Sleutel Weergegeven als
/application/config.message Hello (Hallo)

Verbinding maken met een App Configuration-archief

Nu u een App Configuration-archief hebt, kunt u de Spring Cloud Azure Config-starter gebruiken om uw toepassing te laten communiceren met het App Configuration-archief dat u maakt.

Als u de Spring Cloud Azure Config-startersmodule wilt installeren, voegt u de volgende afhankelijkheid toe aan uw pom.xml-bestand :

<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>5.22.0</version>
        <type>pom</type>
        <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
  1. De bibliotheek maakt standaard verbinding met het App Configuration-archief via Beheerde Identiteit. Volg de instructies om uw referenties toe te wijzen aan de rol App Configuration Data Reader . Zorg ervoor dat u voldoende tijd hebt om de machtiging door te geven voordat u de toepassing uitvoert. Maak vervolgens een nieuw bestand met de naam AppConfigCredential.java en voeg de volgende regels toe:

    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());
        }
    }
    

    Opmerking

    Daarnaast kunt u de Spring Cloud Azure-verificatie gebruiken om verificatiegegevens op te geven. Bij verificatie met de Azure Spring-configuratie kan dezelfde verificatie worden gebruikt voor alle Azure Spring-bibliotheken.

  2. Maak vervolgens een configuratie Bootstrap-configuratie door een bestand onder spring.factories de map te maken resources/META-INF en de volgende regels toe te voegen en bij te werken com.example.MyApplication met de naam en het pakket van uw toepassing:

    org.springframework.cloud.bootstrap.BootstrapConfiguration=\
    com.example.MyApplication
    
  3. Maak een nieuw bestand met de naam bootstrap.properties onder de resourcesmap van uw app en voeg de volgende regel toe aan het bestand.

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

Lezen uit de App Configuration-opslag

Als u de Spring Cloud Azure-configuratiestarter wilt gebruiken om uw toepassing te laten communiceren met het App Configuration-archief dat u maakt, configureert u de toepassing met behulp van de volgende stappen.

  1. Maak een nieuw Java-bestand met de naam MyProperties.java en voeg de volgende regels toe:

    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. Maak een nieuw Java-bestand met de naam HelloController.java en voeg de volgende regels toe:

    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. Open de automatisch gegenereerde eenheidstest en update om Azure-app-configuratie uit te schakelen, of probeer te laden vanuit de service bij het uitvoeren van eenheidstests.

    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() {
        }
    
    }
    

De app lokaal bouwen en uitvoeren

  1. Stel een omgevingsvariabele in met de naam APP_CONFIGURATION_ENDPOINT en stel deze in op de toegangssleutel voor uw App Configuration-archief. Voer op de opdrachtregel de volgende opdracht uit en start de opdrachtprompt opnieuw op om de wijziging door te voeren:

    setx APP_CONFIGURATION_ENDPOINT "<endpoint-of-your-app-configuration-store>"
    

    Als u Windows PowerShell gebruikt, voert u de volgende opdracht uit:

    $Env:APP_CONFIGURATION_ENDPOINT = "<endpoint-of-your-app-configuration-store>"
    

    Als u macOS of Linux gebruikt, voert u de volgende opdracht uit:

    export APP_CONFIGURATION_ENDPOINT='<endpoint-of-your-app-configuration-store>'
    
  2. Open de opdrachtprompt naar de hoofdmap en voer de volgende opdrachten uit om uw Spring Boot-toepassing te bouwen met Maven en deze uit te voeren.

    mvn clean package
    mvn spring-boot:run
    
  3. Nadat uw toepassing wordt uitgevoerd, kunt u curl gebruiken om uw toepassing te testen; bijvoorbeeld:

    curl -X GET http://localhost:8080/
    

    Er wordt een bericht weergegeven dat u zich in het archief van App Configuration bevindt.

Resources opschonen

Als u de resources die in dit artikel zijn gemaakt niet wilt blijven gebruiken, verwijdert u de resourcegroep die u hier hebt gemaakt om kosten te voorkomen.

Belangrijk

Het verwijderen van een resourcegroep kan niet ongedaan worden gemaakt. De resourcegroep en alle resources daarin worden permanent verwijderd. Zorg ervoor dat u niet per ongeluk de verkeerde resourcegroep of resources verwijdert. Als u de resources voor dit artikel in een resourcegroep hebt gemaakt die andere resources bevat die u wilt behouden, moet u elke resource afzonderlijk verwijderen uit het deelvenster in plaats van dat u de resourcegroep verwijdert.

  1. Meld u aan bij de Azure-portal en selecteer Resourcegroepen.
  2. Voer de naam van de resourcegroep in het vak Filteren op naam in.
  3. Selecteer in de resultatenlijst de resourcegroepnaam om een overzicht te bekijken.
  4. Selecteer Resourcegroep verwijderen.
  5. U wordt gevraagd om het verwijderen van de resourcegroep te bevestigen. Voer de naam van de resourcegroep in ter bevestiging en selecteer Verwijderen.

Na enkele ogenblikken worden de resourcegroep en alle bijbehorende resources verwijderd.

Volgende stappen

In deze quickstart hebt u een nieuw app-configuratiearchief gemaakt en deze gebruikt met een Java Spring-app. Zie Spring op Azure voor meer informatie. Zie de referentiedocumentatie voor meer vragen en bevat alle details over de werking van de Spring Cloud Azure-app Configuration-bibliotheek. Ga door naar de volgende zelfstudie voor meer informatie over het configureren van uw Java Spring-app om configuratie-instellingen dynamisch te vernieuwen.