Guia de início rápido: criar um aplicativo Java Spring com a Configuração de Aplicativo do Azure
Neste início rápido, você incorpora a Configuração do Aplicativo do Azure em um aplicativo Java Spring para centralizar o armazenamento e o gerenciamento das configurações do aplicativo separadamente do seu código.
Pré-requisitos
- Uma conta do Azure com uma subscrição ativa. Crie um gratuitamente.
- Uma loja de configuração de aplicativos. Crie uma loja.
- Um Java Development Kit (JDK) suportado com a versão 11.
- Apache Maven versão 3.0 ou superior.
- Um aplicativo Spring Boot. Se você não tiver um, crie um projeto Maven com o Spring Initializr. Certifique-se de selecionar Projeto Maven e, em Dependências, adicione a dependência do Spring Web e, em seguida, selecione Java versão 8 ou superior.
Adicionar um valor-chave
Adicione o seguinte valor-chave à loja de Configuração de Aplicativos e deixe Rótulo e Tipo de Conteúdo com seus valores padrão. Para obter mais informações sobre como adicionar valores-chave a uma loja usando o portal do Azure ou a CLI, vá para Criar um valor-chave.
Key | valor |
---|---|
/aplicativo/config.message | Hello (Olá) |
Conectar-se a uma loja de configuração de aplicativos
Agora que você tem uma loja de Configuração de Aplicativos, pode usar o Spring Cloud Azure Config starter para que seu aplicativo se comunique com a App Configuration Store que você cria.
Para instalar o módulo inicial do Spring Cloud Azure Config, adicione a seguinte dependência ao seu 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 a aplicação
Para usar o Spring Cloud Azure Config starter para que seu aplicativo se comunique com o repositório de Configuração de Aplicativo que você cria, configure o aplicativo usando as etapas a seguir.
Crie um novo arquivo Java chamado MyProperties.java e 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.java e 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 entre em vigor e registre-a 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 o para autenticar em
DefaultAzureCredential
sua loja de configuração de aplicativos. Siga as instruções para atribuir à sua credencial a função de Leitor de Dados de Configuração do Aplicativo. Certifique-se de dar tempo suficiente para que a permissão se propague 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, crie uma configuração Configuração de Bootstrap, criando
spring.factories
o arquivo noresources/META-INF
diretório e adicione as seguintes linhas e atualizandocom.example.MyApplication
com o nome do aplicativo e o pacote:org.springframework.cloud.bootstrap.BootstrapConfiguration=\ com.example.MyApplication
Abra o teste de unidade gerado automaticamente e a atualização para desabilitar a Configuração do Aplicativo do Azure ou ele tenta 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 novo arquivo chamado bootstrap.properties no diretório de recursos do seu aplicativo e adicione a seguinte linha 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 à sua App Configuration Store. 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ê usar o Windows PowerShell, execute o seguinte comando:
$Env:APP_CONFIGURATION_ENDPOINT = "<endpoint-of-your-app-configuration-store>"
Se você usa macOS ou Linux, execute o seguinte comando:
export APP_CONFIGURATION_ENDPOINT='<endpoint-of-your-app-configuration-store>'
Crie e execute o aplicativo localmente
Abra o prompt de comando para o diretório raiz e execute os seguintes comandos para construir seu aplicativo Spring Boot com o Maven e executá-lo.
mvn clean package mvn spring-boot:run
Depois que seu aplicativo estiver em execução, use curl para testar seu aplicativo, por exemplo:
curl -X GET http://localhost:8080/
Vê a mensagem que introduziu na App Configuration Store.
Clean up resources (Limpar recursos)
Se não quiser continuar a utilizar os recursos criados neste artigo, elimine o grupo de recursos que criou aqui para evitar cobranças.
Importante
A eliminação de um grupo de recursos é irreversível. O grupo de recursos e todos os recursos nele contidos são excluídos permanentemente. Certifique-se de não excluir acidentalmente o grupo de recursos ou recursos errados. Se você criou os recursos para este artigo dentro de um grupo de recursos que contém outros recursos que deseja manter, exclua cada recurso individualmente de seu respetivo painel em vez de excluir o grupo de recursos.
- Entre no portal do Azure e selecione Grupos de recursos.
- Na caixa Filtrar por nome, introduza o nome do seu grupo de recursos.
- Na lista de resultados, selecione o nome do grupo de recursos para ver uma visão geral.
- Selecione Eliminar grupo de recursos.
- É-lhe pedido que confirme a eliminação do grupo de recursos. Insira o nome do grupo de recursos a ser confirmado e selecione Excluir.
Após alguns momentos, o grupo de recursos e todos os seus recursos são excluídos.
Próximos passos
Neste início rápido, você criou uma nova loja de configuração de aplicativos e a usou com um aplicativo Java Spring. Para obter mais informações, consulte Spring on Azure. Para mais perguntas, consulte a documentação de referência, que contém todos os detalhes sobre como funciona a biblioteca de Configuração de Aplicativos do Azure do Spring Cloud. Para saber como habilitar seu aplicativo Java Spring para atualizar dinamicamente as definições de configuração, continue para o próximo tutorial.