Quickstart: Functievlagmen toevoegen aan een Spring Boot-app

In deze quickstart maakt u een functievlag in Azure App Configuration en gebruikt u deze om Spring Boot-apps dynamisch te beheren om een end-to-end implementatie van functiebeheer te maken.

De Spring Boot-functiebeheerbibliotheken hebben geen afhankelijkheid van enige Azure-bibliotheken. Ze kunnen naadloos worden geïntegreerd met App Configuration via de configuratieprovider voor Spring Boot.

Vereisten

Een functievlag toevoegen

Voeg een functievlag met de naam Beta toe aan het App Configuration-archief en laat label en beschrijving ongewijzigd met de standaardwaarden. Ga naar Een functievlag maken voor meer informatie over het toevoegen van functievlagmen aan een winkel met behulp van Azure Portal of de CLI. In deze fase moet het selectievakje voor het inschakelen van de functievlag zijn uitgevinkt.

Schermopname van de functievlag met de naam Bèta inschakelen.

Een console-app maken

  1. Maak een nieuw Spring Boot-project:

    1. Blader naar de Spring Initializr.

    2. Geef de volgende opties op:

      • Genereer een Maven-project met Java.
      • Geef een Spring Boot-versie op die gelijk is aan of groter is dan 3.0.
      • Geef de namen voor Groep en Artefact voor uw toepassing op. In dit artikel worden com.example en demo gebruikt.
    3. Nadat u de vorige opties hebt opgegeven, selecteert u Project genereren. Download en pak het project uit op uw lokale computer.

  2. Zoek pom.xml in de hoofdmap van uw app en open deze in een teksteditor.

  3. Voeg het volgende toe aan de lijst met <dependencies>:

    <dependency>
        <groupId>com.azure.spring</groupId>
        <artifactId>spring-cloud-azure-appconfiguration-config</artifactId>
    </dependency>
    <dependency>
        <groupId>com.azure.spring</groupId>
        <artifactId>spring-cloud-azure-feature-management</artifactId>
    </dependency>
    
  4. Voeg de volgende sectie <dependencyManagement> toe om de bibliotheekversies van Spring Cloud Azure te beheren:

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.azure.spring</groupId>
                <artifactId>spring-cloud-azure-dependencies</artifactId>
                <version>7.2.0</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    
  5. Navigeer naar de resources map van uw app en open het application.properties of application.yaml bestand.

    U gebruikt de DefaultAzureCredential om u te authenticeren bij uw App Configuration-winkel. Om te kunnen werken, moet u de rol App Configuration Data Reader toewijzen aan de referentie die uw app gebruikt. Zie Verificatie met tokenreferenties voor instructies. Zorg ervoor dat je voldoende tijd geeft voor de machtiging om zich te verspreiden voordat je de applicatie uitvoert.

    spring.config.import=azureAppConfiguration
    spring.cloud.azure.appconfiguration.stores[0].endpoint= ${AZURE_APPCONFIG_ENDPOINT}
    spring.cloud.azure.appconfiguration.stores[0].feature-flags.enabled=true
    
  6. Werk het DemoApplication.java bestand bij in de pakketmap van uw app met de volgende code:

    import org.springframework.boot.CommandLineRunner;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.context.annotation.Bean;
    
    import com.azure.spring.cloud.feature.management.FeatureManager;
    
    @SpringBootApplication
    public class DemoApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(DemoApplication.class, args);
        }
    
        @Bean
        public CommandLineRunner runner(FeatureManager featureManager) {
            return args -> {
                System.out.println("Beta is enabled: " + featureManager.isEnabled("Beta"));
            };
        }
    }
    
  7. Stel een omgevingsvariabele in met de naam AZURE_APPCONFIG_ENDPOINT en stel deze in op het eindpunt van 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 AZURE_APPCONFIG_ENDPOINT "<endpoint-of-your-app-configuration-store>"
    

    Start de opdrachtprompt opnieuw op om de wijziging door te voeren. Controleer of deze juist is ingesteld door de waarde van de omgevingsvariabele af te drukken.

  8. Bouw en voer uw Spring Boot-toepassing uit met Maven.

    mvn clean package
    mvn spring-boot:run
    
  9. Selecteer Functiebeheer in de App Configuration-portal en wijzig de status van de bètafunctievlag in Aan met behulp van de wisselknop in de kolom Ingeschakeld.

    Sleutel Provincie
    Bèta Aan
  10. Start de toepassing opnieuw op. De toepassing drukt het volgende af:

    Beta is enabled: true
    

Het opruimen van resources

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 bronnen 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 Configuration-archief gemaakt en gebruikt voor het beheren van functies in een Spring Boot-app via de functiebeheerbibliotheken.