Início Rápido: Criar um aplicativo Java Spring com a Configuração de Aplicativos do Azure
Neste guia de início rápido, você incorpora a Configuração de Aplicativos do Azure em um aplicativo Java Spring para centralizar o armazenamento e o gerenciamento de configurações de aplicativo separadas do seu código.
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Crie um gratuitamente.
- Um repositório de Configuração de Aplicativos. Criar um repositório.
- Um JDK (Kit de Desenvolvimento do Java) com suporte na versão 11.
- Apache Maven, versão 3.0 ou posterior.
- Um aplicativo Spring Boot. Caso não tiver um, crie um projeto Maven com o Spring Initializr. Selecione Projeto Maven e, em Dependências, adicione a dependência do Spring Web e selecione Java versão 8 ou superior.
Adicionar um valor-chave
Adicione o valor-chave a seguir ao repositório de Configuração de Aplicativos e deixe os campos Rótulo e Tipo de Conteúdo com seus valores padrão. Para mais informações sobre como adicionar valores-chave a um repositório usando o portal do Azure ou a CLI, acesse Criar um valor-chave.
Chave | Valor |
---|---|
/application/config.message | Olá |
Conectar um repositório de Configuração de Aplicativos
Agora que você tem um repositório Configuração de Aplicativos, você pode usar o iniciador de Configuração do Azure Spring Cloud para que seu aplicativo se comunique com o repositório Configuração de Aplicativos que você criar.
Para instalar o módulo do iniciador de Configuração do Azure Spring Cloud, adicione a seguinte dependência ao arquivo pom.xml :
<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>
Codificar o aplicativo
Para usar o iniciador de Configuração do Azure Spring Cloud para que seu aplicativo se comunique com o repositório de Configuração de Aplicativos que você criar, configure o aplicativo usando as etapas a seguir.
Crie um novo arquivo Java chamado MyProperties.javae adicione as seguintes linhas:
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; } }
Crie um novo arquivo Java chamado HelloController.javae adicione as seguintes linhas:
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(); } }
No arquivo Java do aplicativo principal, adicione
@EnableConfigurationProperties
para habilitar a classe de propriedades de configuração MyProperties.java para entrar em vigor e registrá-la no contêiner Spring.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); } }
Você usa a autenticação
DefaultAzureCredential
no repositório de Configuração de Aplicativos. Siga as instruções para atribuir à credencial a função Leitor de Dados de Configuração de Aplicativo. Certifique-se de permitir tempo suficiente para a permissão se propagar antes de executar seu aplicativo. Crie um novo arquivo chamado AppConfigCredential.java e adicione as seguintes linhas: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()); } }
Em seguida, adicione a configuração Bootstrap Configuration, criando o arquivo
spring.factories
no diretórioresources/META-INF
e adicione as seguintes linhas e atualizandocom.example.MyApplication
com o nome do seu aplicativo e pacote:org.springframework.cloud.bootstrap.BootstrapConfiguration=\ com.example.MyApplication
Abra o teste de unidade gerado automaticamente e atualize para desabilitar Configuração de Aplicativos do Azure ou tente carregar do serviço ao executar testes de unidade.
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() { } }
Crie um arquivo nomeado bootstrap.properties no diretório de recursos do aplicativo e adicione as linhas a seguir ao arquivo.
spring.cloud.azure.appconfiguration.stores[0].endpoint= ${APP_CONFIGURATION_ENDPOINT}
Defina uma variável de ambiente chamada APP_CONFIGURATION_ENDPOINT e defina-a como a chave de acesso para o repositório de Configuração de Aplicativos. Na linha de comando, execute o seguinte comando e reinicie o prompt de comando para permitir que a alteração entre em vigor:
setx APP_CONFIGURATION_ENDPOINT "<endpoint-of-your-app-configuration-store>"
Se você usa o Windows PowerShell, execute o comando a seguir:
$Env:APP_CONFIGURATION_ENDPOINT = "<endpoint-of-your-app-configuration-store>"
Se você usa macOS ou Linux, execute o comando a seguir:
export APP_CONFIGURATION_ENDPOINT='<endpoint-of-your-app-configuration-store>'
Compilar e executar o aplicativo localmente
Abra o prompt de comando para o diretório raiz e execute os comandos a seguir para criar seu aplicativo Spring Boot com o Maven e executá-lo.
mvn clean package mvn spring-boot:run
Depois que o aplicativo estiver em execução, use curl para testar o aplicativo, por exemplo:
curl -X GET http://localhost:8080/
Você verá a mensagem inserida no repositório de Configuração de Aplicativos.
Limpar os recursos
Se não deseja continuar usando os recursos criados neste artigo, exclua o grupo de recursos que você criou aqui para evitar encargos.
Importante
A exclusão de um grupo de recursos é irreversível. O grupo de recursos e todos os recursos contidos nele são excluídos permanentemente. Não exclua acidentalmente grupo de recursos ou recursos incorretos. Se tiver criado os recursos para este artigo dentro de um grupo de recursos que contém outros recursos que você deseja manter, exclua cada um individualmente do respectivo painel em vez de excluir o grupo de recursos.
- Entre no portal do Azure e selecione Grupos de recursos.
- Na caixa Filtrar por nome..., digite o nome do seu grupo de recursos.
- Na lista de resultados, selecione o nome do grupo de recursos para conferir uma visão geral.
- Selecione Excluir grupo de recursos.
- Você receberá uma solicitação para confirmar a exclusão do grupo de recursos. Insira o nome do grupo de recursos para confirmar e selecione Excluir.
Após alguns instantes, o grupo de recursos e todos os recursos dele são excluídos.
Próximas etapas
Neste início rápido, você criou um repositório de Configuração de Aplicativos e o usou com um aplicativo Java Spring. Para obter mais informações, consulte Spring no Azure. Para obter mais perguntas, confira a documentação de referência, ela tem todos os detalhes sobre como funciona a biblioteca de Configuração de Aplicativos do Azure do Spring Cloud. Para saber como habilitar o aplicativo Java Spring a atualizar dinamicamente as configurações, prossiga para o próximo tutorial.