Avvio rapido: Aggiungere flag di funzionalità a un'app Spring Boot

In questo avvio rapido, creerai un flag delle caratteristiche in Configurazione app di Azure e lo userai per regolare dinamicamente le applicazioni Spring Boot, creando un'implementazione end-to-end della gestione delle funzionalità.

Le librerie Spring Boot Feature Management non hanno una dipendenza da nessuna libreria Azure. Si integrano facilmente con Configurazione app tramite il provider di configurazione di Spring Boot.

Prerequisiti

Aggiungere un flag di funzionalità

Aggiungere un flag di funzionalità chiamato Beta all’archivio di Configurazione app e lasciare Etichetta e Descrizione con i relativi valori predefiniti. Per altre informazioni su come aggiungere flag di funzionalità a un archivio usando il portale di Azure o l’interfaccia della riga di comando, vedere Creare un flag di funzionalità. In questa fase la casella di controllo Abilita flag di funzionalità deve essere deselezionata.

Screenshot del flag di funzionalità abilitato denominato Beta.

Creare un'app console

  1. Creare un nuovo progetto Spring Boot:

    1. Passare a Spring Initializr.

    2. Specificare le opzioni seguenti:

      • Generare un progetto Maven con Java.
      • Specificare una versione di Spring Boot uguale o maggiore di 3.0.
      • Specificare i nomi di Group (Gruppo) e Artifact (Artefatto) per l'applicazione. Questo articolo usa com.example e demo.
    3. Dopo aver specificato le opzioni precedenti, selezionare Genera progetto. Scaricare ed estrarre il progetto nel computer locale.

  2. Individuare pom.xml nella directory radice dell'app e aprirla in un editor di testo.

  3. Aggiungere quanto segue all'elenco di <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. Aggiungere la sezione seguente <dependencyManagement> per gestire le versioni della libreria Spring Cloud Azure:

    <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. Passare alla directory resources dell'app e aprire il file application.properties o application.yaml.

    Usare DefaultAzureCredential per eseguire l'autenticazione nell'archivio di Configurazione app. Affinché l'autorizzazione funzioni, è necessario concedere il ruolo Lettore dati di configurazione app alle credenziali usate dall'app. Per istruzioni, vedere Autenticazione con le credenziali del token. Assicurarsi di consentire tempo sufficiente per la propagazione dell'autorizzazione prima di eseguire l'applicazione.

    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. Aggiornare il DemoApplication.java file nella directory del pacchetto dell'app con il codice seguente:

    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. Impostare una variabile di ambiente denominata AZURE_APPCONFIG_ENDPOINT e impostarla sull'endpoint dell'archivio di Configurazione app. Al prompt dei comandi eseguire questo comando e riavviare il prompt per rendere effettiva la modifica:

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

    Riavviare il prompt dei comandi per rendere effettiva la modifica. Verificare che sia impostato correttamente stampando il valore della variabile di ambiente.

  8. Compilare ed eseguire l'applicazione Spring Boot con Maven.

    mvn clean package
    mvn spring-boot:run
    
  9. Nel portale di Configurazione app selezionare Gestione funzionalità e modificare lo stato del flag di funzionalità Beta su , usando l'interruttore nella colonna Abilitato.

    Chiave State
    Versione Beta Attivato
  10. Riavviare l'applicazione. L'applicazione stamperà quanto segue:

    Beta is enabled: true
    

Pulire le risorse

Se non si vuole continuare a usare le risorse create in questo articolo, eliminare il gruppo di risorse creato qui per evitare addebiti.

Importante

L'eliminazione di un gruppo di risorse è irreversibile. Il gruppo di risorse e tutte le risorse in esso contenute vengono eliminati in modo permanente. Assicurarsi di non eliminare accidentalmente il gruppo di risorse o le risorse sbagliate. Se le risorse per questo articolo sono state create in un gruppo di risorse che contiene altre risorse che si vogliono mantenere, eliminare ogni risorsa singolarmente dal rispettivo riquadro anziché eliminare il gruppo di risorse.

  1. Accedere al portale di Azure e selezionare Gruppi di risorse.
  2. Nella casella Filtra per nome immettere il nome del gruppo di risorse.
  3. Nell'elenco dei risultati selezionare il nome del gruppo di risorse per visualizzare una panoramica.
  4. Selezionare Elimina gruppo di risorse.
  5. Verrà chiesto di confermare l'eliminazione del gruppo di risorse. Immettere il nome del gruppo di risorse per confermare e selezionare Elimina.

Dopo qualche istante, il gruppo di risorse e tutte le risorse che contiene vengono eliminati.

Passaggi successivi

In questa guida introduttiva, è stato creato un nuovo archivio App Configuration ed è stato utilizzato per gestire i feature in un'app Spring Boot tramite le librerie di Feature Management.