Condividi tramite


Avvio rapido: Creare un'app Java Spring con Configurazione app di Azure

In questa guida di avvio rapido si incorpora Configurazione app di Azure in un'app Java Spring per centralizzare l'archiviazione e la gestione delle impostazioni dell'applicazione separatamente dal codice.

Prerequisiti

Aggiungere un valore chiave

Aggiungere il valore chiave seguente all’archivio di Configurazione app e lasciare Etichetta e Tipo di contenuto con i valori predefiniti. Per altre informazioni su come aggiungere valori chiave a un archivio usando il portale di Azure o l’interfaccia della riga di comando, andare a Creare un valore chiave.

Chiave valore
/application/config.message Ciao

Connettersi a un archivio di Configurazione app

Adesso che si dispone di un archivio di Configurazione app, è possibile usare lo starter Spring Cloud Azure Config per fare in modo che l'applicazione comunichi con l'archivio di Configurazione app creato.

Per installare il modulo di avvio di Spring Cloud Azure Config, aggiungere la dipendenza seguente al file 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. Per impostazione predefinita, la libreria si connette all'archivio di configurazione delle app tramite identità gestita. Seguire le istruzioni per assegnare le credenziali al ruolo Lettore dati di Configurazione app. Assicurarsi di consentire tempo sufficiente per la propagazione dell'autorizzazione prima di eseguire l'applicazione. Creare quindi un nuovo file denominato AppConfigCredential.java e aggiungere le righe seguenti:

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

    Annotazioni

    È anche possibile usare l'autenticazione di Spring Cloud di Azure per fornire informazioni di autenticazione. Quando si esegue l'autenticazione con la configurazione di Azure Spring, viene abilitata l'uso della stessa autenticazione per tutte le librerie di Azure Spring.

  2. Creare quindi una configurazione di Bootstrap Configuration, creando il file spring.factories nella directory resources/META-INF e aggiungendo le righe seguenti, quindi aggiornando com.example.MyApplication con il nome e il pacchetto dell'applicazione:

    org.springframework.cloud.bootstrap.BootstrapConfiguration=\
    com.example.MyApplication
    
  3. Creare un nuovo file denominato application.properties nella directory resources dell'app e aggiungere la riga seguente al file.

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

Leggere valori dall'archivio di Configurazione app

Per usare lo starter Spring Cloud Azure Config per far comunicare l'applicazione con l'archivio di Configurazione app creato, configurare l'applicazione seguendo questa procedura.

  1. Creare un nuovo file Java denominato MyProperties.java e aggiungere le righe seguenti:

    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. Creare un nuovo file Java denominato HelloController.java e aggiungere le righe seguenti:

    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. Aprire il test unità generato automaticamente e aggiornarlo per disabilitare Configurazione app di Azure, altrimenti tenterà di caricarlo dal servizio durante l'esecuzione dei test unità.

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

Compilare ed eseguire l'app in locale

  1. Impostare una variabile di ambiente denominata APP_CONFIGURATION_ENDPOINT e impostarla sulla chiave di accesso all'archivio di Configurazione app. Al prompt dei comandi eseguire questo comando e riavviare il prompt per rendere effettiva la modifica:

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

    Se si usa Windows PowerShell, eseguire il comando seguente:

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

    Se si usa macOS o Linux, eseguire il comando seguente:

    export APP_CONFIGURATION_ENDPOINT='<endpoint-of-your-app-configuration-store>'
    
  2. Aprire il prompt dei comandi alla directory radice ed eseguire i comandi seguenti per compilare l'applicazione Spring Boot con Maven ed eseguirla.

    mvn clean package
    mvn spring-boot:run
    
  3. Quando l'applicazione è in esecuzione, è possibile testarla usando curl, ad esempio:

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

    Dovrebbe essere visualizzato il messaggio indicante che è stato eseguito l'accesso nell'archivio di Configurazione app.

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 di avvio rapido è stato creato un nuovo archivio di Configurazione app, che è stato usato con un'app Java Spring. Per altre informazioni, vedere Spring in Azure. Per altre domande, vedere la documentazione di riferimento, contiene tutti i dettagli sul funzionamento della libreria spring cloud di Configurazione app di Azure. Per informazioni su come abilitare l'app Java Spring per aggiornare in modo dinamico le impostazioni di configurazione, continuare con l'esercitazione successiva.