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
- Ein Azure-Konto mit einem aktiven Abonnement. Erstellen Sie ein kostenloses Konto.
- Ein App Configuration-Speicher. Erstellen Sie einen Speicher.
- Ein unterstütztes Java Development Kit (JDK) mit Version 11.
- Apache Maven Version 3.0 oder höher
- Ein Spring Boot-Anwendung. Wenn Sie keine Spring Boot-Anwendung besitzen, erstellen Sie mit Spring Initializr ein Maven-Projekt. Achten Sie darauf, Maven Project (Maven-Projekt) auszuwählen, fügen Sie unter Dependencies (Abhängigkeiten) die Abhängigkeit Spring Web hinzu, und wählen Sie dann Java-Version 8 oder höher aus.
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.
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; } }
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(); } }
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); } }
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()); } }
Erstellen Sie dann eine Konfiguration „Bootstrap Konfiguration“, indem Sie die
spring.factories
-Datei imresources/META-INF
-Verzeichnis erstellen und die folgenden Zeilen hinzufügen undcom.example.MyApplication
mit Ihrem Anwendungsnamen und -paket aktualisieren:org.springframework.cloud.bootstrap.BootstrapConfiguration=\ com.example.MyApplication
Ö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() { } }
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}
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
Ö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
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.
- Melden Sie sich beim Azure-Portal an, und klicken Sie auf Ressourcengruppen.
- Geben Sie im Feld Nach Name filtern den Namen Ihrer Ressourcengruppe ein.
- Wählen Sie in der Ergebnisliste den Ressourcengruppennamen aus, um eine Übersicht anzuzeigen.
- Wählen Sie die Option Ressourcengruppe löschen.
- 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.