Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In deze quickstart neemt u Azure App Configuration op in een Java Spring-console-app om opslag en beheer van toepassingsinstellingen gescheiden van uw code te centraliseren.
Vereisten
- Een Azure-account met een actief abonnement. Maak gratis een account.
- Een App Configuration-winkel, zoals uiteengezet in de zelfstudie voor het maken van een winkel.
- Een ondersteunde Java Development Kit (JDK) met versie 11.
- Apache Maven versie 3.0 of hoger.
- Een Spring Boot-toepassing. Als u er nog geen hebt, maakt u een Maven-project met de Spring Initializr. Zorg ervoor dat u Maven Project selecteert en onder Afhankelijkheden de Spring Web-afhankelijkheid toevoegt en vervolgens Java-versie 8 of hoger selecteert.
Een sleutelwaarde toevoegen
Voeg de volgende sleutelwaarde toe aan het App Configuration-archief en laat label en inhoudstype ongewijzigd met de standaardwaarden. Ga naar Een sleutelwaarde maken voor meer informatie over het toevoegen van sleutelwaarden aan een archief met behulp van Azure Portal of de CLI.
Sleutel | Weergegeven als |
---|---|
/application/config.message | Hello (Hallo) |
Verbinding maken met een App Configuration-archief
Nu u een App Configuration-archief hebt, kunt u de Spring Cloud Azure Config-starter gebruiken om uw toepassing te laten communiceren met het App Configuration-archief dat u maakt.
Als u de Spring Cloud Azure Config-startersmodule wilt installeren, voegt u de volgende afhankelijkheid toe aan uw pom.xml-bestand :
<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>5.22.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
De bibliotheek maakt standaard verbinding met het App Configuration-archief via Beheerde Identiteit. Volg de instructies om uw referenties toe te wijzen aan de rol App Configuration Data Reader . Zorg ervoor dat u voldoende tijd hebt om de machtiging door te geven voordat u de toepassing uitvoert. Maak vervolgens een nieuw bestand met de naam AppConfigCredential.java en voeg de volgende regels toe:
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()); } }
Opmerking
Daarnaast kunt u de Spring Cloud Azure-verificatie gebruiken om verificatiegegevens op te geven. Bij verificatie met de Azure Spring-configuratie kan dezelfde verificatie worden gebruikt voor alle Azure Spring-bibliotheken.
Maak vervolgens een configuratie Bootstrap-configuratie door een bestand onder
spring.factories
de map te makenresources/META-INF
en de volgende regels toe te voegen en bij te werkencom.example.MyApplication
met de naam en het pakket van uw toepassing:org.springframework.cloud.bootstrap.BootstrapConfiguration=\ com.example.MyApplication
Maak een nieuw bestand met de naam bootstrap.properties onder de resourcesmap van uw app en voeg de volgende regel toe aan het bestand.
spring.cloud.azure.appconfiguration.stores[0].endpoint= ${APP_CONFIGURATION_ENDPOINT}
Lezen uit de App Configuration-opslag
Als u de Spring Cloud Azure-configuratiestarter wilt gebruiken om uw toepassing te laten communiceren met het App Configuration-archief dat u maakt, configureert u de toepassing met behulp van de volgende stappen.
Maak een nieuw Java-bestand met de naam MyProperties.java en voeg de volgende regels toe:
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; } }
Maak een nieuw Java-bestand met de naam HelloController.java en voeg de volgende regels toe:
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(); } }
Open de automatisch gegenereerde eenheidstest en update om Azure-app-configuratie uit te schakelen, of probeer te laden vanuit de service bij het uitvoeren van eenheidstests.
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() { } }
De app lokaal bouwen en uitvoeren
Stel een omgevingsvariabele in met de naam APP_CONFIGURATION_ENDPOINT en stel deze in op de toegangssleutel voor uw App Configuration-archief. Voer op de opdrachtregel de volgende opdracht uit en start de opdrachtprompt opnieuw op om de wijziging door te voeren:
setx APP_CONFIGURATION_ENDPOINT "<endpoint-of-your-app-configuration-store>"
Als u Windows PowerShell gebruikt, voert u de volgende opdracht uit:
$Env:APP_CONFIGURATION_ENDPOINT = "<endpoint-of-your-app-configuration-store>"
Als u macOS of Linux gebruikt, voert u de volgende opdracht uit:
export APP_CONFIGURATION_ENDPOINT='<endpoint-of-your-app-configuration-store>'
Open de opdrachtprompt naar de hoofdmap en voer de volgende opdrachten uit om uw Spring Boot-toepassing te bouwen met Maven en deze uit te voeren.
mvn clean package mvn spring-boot:run
Nadat uw toepassing wordt uitgevoerd, kunt u curl gebruiken om uw toepassing te testen; bijvoorbeeld:
curl -X GET http://localhost:8080/
Er wordt een bericht weergegeven dat u zich in het archief van App Configuration bevindt.
Resources opschonen
Als u de resources die in dit artikel zijn gemaakt niet wilt blijven gebruiken, verwijdert u de resourcegroep die u hier hebt gemaakt om kosten te voorkomen.
Belangrijk
Het verwijderen van een resourcegroep kan niet ongedaan worden gemaakt. De resourcegroep en alle resources daarin worden permanent verwijderd. Zorg ervoor dat u niet per ongeluk de verkeerde resourcegroep of resources verwijdert. Als u de resources voor dit artikel in een resourcegroep hebt gemaakt die andere resources bevat die u wilt behouden, moet u elke resource afzonderlijk verwijderen uit het deelvenster in plaats van dat u de resourcegroep verwijdert.
- Meld u aan bij de Azure-portal en selecteer Resourcegroepen.
- Voer de naam van de resourcegroep in het vak Filteren op naam in.
- Selecteer in de resultatenlijst de resourcegroepnaam om een overzicht te bekijken.
- Selecteer Resourcegroep verwijderen.
- U wordt gevraagd om het verwijderen van de resourcegroep te bevestigen. Voer de naam van de resourcegroep in ter bevestiging en selecteer Verwijderen.
Na enkele ogenblikken worden de resourcegroep en alle bijbehorende resources verwijderd.
Volgende stappen
In deze quickstart hebt u een nieuw app-configuratiearchief gemaakt en deze gebruikt met een Java Spring-app. Zie Spring op Azure voor meer informatie. Zie de referentiedocumentatie voor meer vragen en bevat alle details over de werking van de Spring Cloud Azure-app Configuration-bibliotheek. Ga door naar de volgende zelfstudie voor meer informatie over het configureren van uw Java Spring-app om configuratie-instellingen dynamisch te vernieuwen.