Partilhar via


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.

  1. 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;
        }
    }
    
  2. 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();
        }
    }
    
  3. 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);
        }
    }
    
  4. 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());
        }
    }
    
  5. Em seguida, crie uma configuração Configuração de Bootstrap, criando spring.factories o arquivo no resources/META-INF diretório e adicione as seguintes linhas e atualizando com.example.MyApplication com o nome do aplicativo e o pacote:

    org.springframework.cloud.bootstrap.BootstrapConfiguration=\
    com.example.MyApplication
    
  6. 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() {
        }
    
    }
    
  7. 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}
    
  8. 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

  1. 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
    
  2. 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.

  1. Entre no portal do Azure e selecione Grupos de recursos.
  2. Na caixa Filtrar por nome, introduza o nome do seu grupo de recursos.
  3. Na lista de resultados, selecione o nome do grupo de recursos para ver uma visão geral.
  4. Selecione Eliminar grupo de recursos.
  5. É-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.