Snabbstart: Lägga till funktionsflaggor i en Spring Boot-app

I den här snabbstarten skapar du en funktionsflagga i Azure App Configuration och använder den för att dynamiskt styra Spring Boot-appar för att skapa en implementering av funktionshantering från slutpunkt till slutpunkt.

Spring Boot-funktionshanteringsbiblioteken inte har ett beroende av några Azure-bibliotek. De integreras sömlöst med App Configuration via dess Spring Boot-konfigurationsprovider.

Förutsättningar

Lägga till en funktionsflagga

Lägg till en funktionsflagga med namnet Beta i App Configuration Store och lämna Etikett och Beskrivning med sina standardvärden. Mer information om hur du lägger till funktionsflaggor i en butik med hjälp av Azure Portal eller CLI finns i Skapa en funktionsflagga. I det här skedet bör kryssrutan Aktivera funktionsflagga vara avmarkerad.

Skärmbild av aktivera funktionsflagga med namnet Beta.

Skapa en konsolapp

  1. Skapa ett nytt Spring Boot-projekt:

    1. Bläddra till Spring Initializr.

    2. Ange följande alternativ:

      • Generera ett Maven-projekt med Java.
      • Ange en Spring Boot-version som är lika med eller större än 3.0.
      • Ange namnen för Group (Grupp) och Artifact (Artefakt) för ditt program. Den här artikeln använder com.example och demo.
    3. När du har angett föregående alternativ väljer du Generera projekt. Ladda ned och extrahera projektet till den lokala datorn.

  2. Leta upp pom.xml i appens rotkatalog och öppna den i en textredigerare.

  3. Lägg till följande i listan med <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. Lägg till följande <dependencyManagement> avsnitt för att hantera versionerna av Spring Cloud Azure-biblioteken:

    <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. Gå till katalogen för resources din app och öppna application.properties filen eller application.yaml .

    Du använder DefaultAzureCredential för att autentisera mot appkonfigurationsarkivet. För att auktorisering ska fungera måste du bevilja rollen App Configuration Data Reader till de autentiseringsuppgifter som appen använder. Anvisningar finns i Autentisering med tokenautentiseringsuppgifter. Se till att ge tillräckligt med tid för att behörigheten ska spridas innan du kör programmet.

    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. DemoApplication.java Uppdatera filen i paketkatalogen för din app med följande kod:

    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. Ange en miljövariabel med namnet AZURE_APPCONFIG_ENDPOINT och ställ in den på endpointen för din App Configuration-butik. På kommandoraden kör du följande kommando och startar om kommandotolken för att tillåta att ändringen börjar gälla:

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

    Starta om kommandotolken så att ändringen börjar gälla. Kontrollera att den har angetts korrekt genom att skriva ut värdet för miljövariabeln.

  8. Skapa och kör ditt Spring Boot-program med Maven.

    mvn clean package
    mvn spring-boot:run
    
  9. I appkonfigurationsportalen väljer du Funktionshanteraren och ändrar status för betafunktionsflaggan till med hjälp av växlingsknappen i kolumnen Aktiverad.

    Nyckel Tillstånd
    Beta-version
  10. Starta om programmet. Programmet skriver ut följande:

    Beta is enabled: true
    

Rensa resurser

Om du inte vill fortsätta använda resurserna som skapas i den här artikeln tar du bort resursgruppen som du skapade här för att undvika avgifter.

Viktigt!

Att ta bort en resursgrupp kan inte ångras. Resursgruppen och alla resurser i den tas bort permanent. Se till att du inte oavsiktligt tar bort fel resursgrupp eller resurser. Om du har skapat resurserna för den här artikeln i en resursgrupp som innehåller andra resurser som du vill behålla tar du bort varje resurs individuellt från respektive fönster i stället för att ta bort resursgruppen.

  1. Logga in på Azure Portal och välj Resursgrupper.
  2. I rutan Filtrera efter namn anger du namnet på resursgruppen.
  3. I resultatlistan väljer du resursgruppens namn för att se en översikt.
  4. Välj Ta bort resursgrupp.
  5. Du blir ombedd att bekräfta borttagningen av resursgruppen. Ange namnet på resursgruppen för att bekräfta och välj Ta bort.

Efter en liten stund tas resursgruppen och alla dess resurser bort.

Nästa steg

I den här snabbstarten skapade du ett nytt appkonfigurationsarkiv och använde det för att hantera funktioner i en Spring Boot-app via funktionshanteringsbiblioteken.