Freigeben über


Schnellstart: Erstellen einer Java Spring-App mit Azure App Configuration

In dieser Schnellanleitung integrieren Sie Azure App Configuration in eine Java Spring-App, um die Speicherung und Verwaltung von Anwendungseinstellungen getrennt von Ihrem Code zu zentralisieren.

Voraussetzungen

Hinzufügen eines Schlüssel-Wert-Paars

Fügen Sie dem App Configuration-Speicher den folgenden Schlüsselwert hinzu, und übernehmen Sie für Bezeichnung und Inhaltstyp die Standardwerte. Weitere Informationen zum Hinzufügen von Schlüssel-Wert-Paaren zu einem Speicher mithilfe des Azure-Portals oder der CLI finden Sie unter Erstellen eines Schlüssel-Wert-Paars.

Schlüssel Wert
/application/config.message Hallo

Herstellen einer Verbindung mit einem App Configuration-Speicher

Da Sie nun über einen App Configuration-Speicher verfügen, können Sie den Spring Cloud Azure Config-Starter verwenden, damit Ihre Anwendung mit dem von Ihnen erstellten App Configuration-Speicher kommunizieren kann.

Um das Spring Cloud Azure Config-Startermodul zu installieren, fügen Sie Ihrer pom.xml-Datei die folgende Abhängigkeit hinzu:

<dependency>
    <groupId>com.azure.spring</groupId>
    <artifactId>spring-cloud-azure-appconfiguration-config-web</artifactId>
</dependency>

<dependencyManagement>
    <dependencies>
        <dependency>
        <groupId>com.azure.spring</groupId>
        <artifactId>spring-cloud-azure-dependencies</artifactId>
        <version>5.18.0</version>
        <type>pom</type>
        <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

Codieren der Anwendung

Wenn Sie den Spring Cloud Azure Config-Starter verwenden möchten, damit Ihre Anwendung mit dem von Ihnen erstellten App Configuration-Speicher kommunizieren kann, konfigurieren Sie die Anwendung mithilfe der folgenden Schritte.

  1. Erstellen Sie eine neue Java-Datei mit dem Namen MyProperties.java, und fügen Sie die folgenden Zeilen hinzu:

    import org.springframework.boot.context.properties.ConfigurationProperties;
    
    @ConfigurationProperties(prefix = "config")
    public class MyProperties {
        private String message;
    
        public String getMessage() {
            return message;
        }
    
        public void setMessage(String message) {
            this.message = message;
        }
    }
    
  2. Erstellen Sie eine neue Java-Datei mit dem Namen HelloController.java, und fügen Sie die folgenden Zeilen hinzu:

    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    public class HelloController {
        private final MyProperties properties;
    
        public HelloController(MyProperties properties) {
            this.properties = properties;
        }
    
        @GetMapping
        public String getMessage() {
            return "Message: " + properties.getMessage();
        }
    }
    
  3. Fügen Sie in der Java-Hauptanwendungsdatei @EnableConfigurationProperties hinzu, damit die MyProperties.java-Konfigurationseigenschaftenklasse wirksam wird, und registrieren Sie sie beim Spring-Container.

    import org.springframework.boot.context.properties.EnableConfigurationProperties;
    
    @SpringBootApplication
    @EnableConfigurationProperties(MyProperties.class)
    public class DemoApplication {
        public static void main(String[] args) {
            SpringApplication.run(DemoApplication.class, args);
        }
    }
    
  4. Sie verwenden die DefaultAzureCredential für die Authentifizierung beim App Configuration-Speicher. Befolgen Sie die Anweisungen, um Ihre Anmeldeinformationen der Rolle App Configuration-Datenleser zuzuweisen. Achten Sie darauf, ausreichend Zeit für die Verteilung der Berechtigung zu warten, bevor Sie Ihre Anwendung ausführen. Erstellen Sie eine neue Datei mit dem Namen AppConfigCredential.java, und fügen Sie die folgenden Zeilen hinzu:

    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());
        }
    }
    
  5. Erstellen Sie dann eine Konfiguration „Bootstrap Konfiguration“, indem Sie die spring.factories-Datei im resources/META-INF-Verzeichnis erstellen und die folgenden Zeilen hinzufügen und com.example.MyApplication mit Ihrem Anwendungsnamen und -paket aktualisieren:

    org.springframework.cloud.bootstrap.BootstrapConfiguration=\
    com.example.MyApplication
    
  6. Öffnen Sie den automatisch generierten Komponententest, und führen Sie ein Update durch, um Azure App Configuration zu deaktivieren, oder sie versucht während der Ausführung des Komponententests aus dem Dienst zu laden.

    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() {
        }
    
    }
    
  7. Erstellen Sie eine neue Datei namens bootstrap.properties unter dem Ressourcenverzeichnis Ihrer App, und fügen Sie der Datei die folgende Zeile hinzu.

    spring.cloud.azure.appconfiguration.stores[0].endpoint= ${APP_CONFIGURATION_ENDPOINT}
    
  8. Legen Sie eine Umgebungsvariable mit dem Namen APP_CONFIGURATION_ENDPOINT auf den Zugriffsschlüssel für Ihren App Configuration-Speicher fest. Führen Sie an der Befehlszeile den folgenden Befehl aus, und starten Sie die Eingabeaufforderung neu, damit die Änderung wirksam wird:

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

    Führen Sie bei Verwendung von Windows PowerShell den folgenden Befehl aus:

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

    Führen Sie bei Verwendung von macOS oder Linux den folgenden Befehl aus:

    export APP_CONFIGURATION_ENDPOINT='<endpoint-of-your-app-configuration-store>'
    

Lokales Erstellen und Ausführen der App

  1. Öffnen Sie die Eingabeaufforderung im Stammverzeichnis, und führen Sie die folgenden Befehle aus, um Ihre Spring Boot-Anwendung mit Maven zu erstellen und auszuführen.

    mvn clean package
    mvn spring-boot:run
    
  2. Nachdem Ihre Anwendung ausgeführt wird, testen Sie sie mit cURL. Beispiel:

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

    Es wird die Nachricht angezeigt, die Sie im App Configuration-Speicher eingegeben haben.

Bereinigen von Ressourcen

Wenn Sie die in diesem Artikel erstellten Ressourcen nicht mehr verwenden möchten, löschen Sie die erstellte Ressourcengruppe, um Kosten zu vermeiden.

Wichtig

Das Löschen einer Ressourcengruppe kann nicht rückgängig gemacht werden. Die Ressourcengruppe und alle darin enthaltenen Ressourcen werden unwiderruflich gelöscht. Achten Sie daher darauf, dass Sie nicht versehentlich die falsche Ressourcengruppe oder die falschen Ressourcen löschen. Falls Sie die Ressourcen für diesen Artikel in einer Ressourcengruppe erstellt haben, die andere beizubehaltende Ressourcen enthält, löschen Sie die Ressourcen einzeln über den entsprechenden Bereich, statt die Ressourcengruppe zu löschen.

  1. Melden Sie sich beim Azure-Portal an, und klicken Sie auf Ressourcengruppen.
  2. Geben Sie im Feld Nach Name filtern den Namen Ihrer Ressourcengruppe ein.
  3. Wählen Sie in der Ergebnisliste den Ressourcengruppennamen aus, um eine Übersicht anzuzeigen.
  4. Wählen Sie die Option Ressourcengruppe löschen.
  5. Sie werden aufgefordert, das Löschen der Ressourcengruppe zu bestätigen. Geben Sie zur Bestätigung den Namen Ihrer Ressourcengruppe ein, und klicken Sie auf Löschen.

Daraufhin werden die Ressourcengruppe und alle darin enthaltenen Ressourcen gelöscht.

Nächste Schritte

In diesem Schnellstart haben Sie einen neuen App Configuration-Speicher erstellt und mit einer Java Spring-App verwendet. Weitere Informationen finden Sie unter Spring in Azure. Weitere Fragen finden Sie in der Referenzdokumentation. Sie enthält alle Details zur Funktionsweise der Spring Cloud Azure App Configuration-Bibliothek. Fahren Sie mit dem nächsten Tutorial fort, um zu erfahren, wie Sie Ihre Java Spring-App für das dynamische Aktualisieren der Konfigurationseinstellungen konfigurieren.