Facilitando o uso de variáveis de ambiente no java com spring
Tempo de leitura: 2 minutos
Sempre que utilizamos variáveis de ambiente em projetos Java com Spring, surge sempre uma dúvida – como padronizar essas variáveis e utilizá-las de forma simples nos projetos, sem correr o risco de “perder” a sua configuração na IDE.
A ideia desse artigo, é fornecer uma ideia de como lidar com as variável de ambiente, através de um arquivo .yml configurável.
Vamos imaginar, que você possui um código fonte semelhante o da imagem abaixo, onde são utilizadas variáveis de ambiente na aplicação, através de um arquivo application.yml.
Nesse cenário, obrigatoriamente ao realizar o startup da nossa aplicação, precisamos declarar o valor dessas 3 variáveis de ambiente: DB_URL
, DB_USERNAME
e DB_PASSWORD
.
Caso você utilize outras formas de capturar variáveis de ambiente, como através do:System.getenv("SUA_VARIAVEL")
Ou qualquer outra maneira, funcionará da mesma forma.
A solução se aplica para qualquer maneira de capturar valores de variáveis de ambiente!
A forma mais comum que utilizamos é criar diretamente nas propriedades da IDE, o valor das variáveis, ficando algo semelhante a isso:
Essa foi uma opção utilizando a IDE IntelliJ, através do seguinte caminho:
Botão direto no projeto importado, Modify Run Configurations > Edit Environment Variables .
Essa é a forma tradicional de incluir variáveis de ambiente em uma IDE java, vamos agora a solução através de um arquivo externo!
Crie um arquivo .yml para as suas variáveis de ambiente
Primeiro passo é necessário criar um arquivo no diretório que você preferir com a extensão .yml, esse arquivo deve conter o Nome e o Valor da variável de ambiente, seguindo nosso exemplo, ficaria assim:DB_URL: url_banco_dados
DB_USER: user_banco_dados
DB_PASSWORD: senha_banco_dados
Estrutura dos arquivos:
Uma vez criado o arquivo, descrevendo todas as variáveis de valores, basta seguir para o próximo passo:
Apontando o arquivo de variáveis na IDE
Com o arquivo em mãos, basta apontar essa variável em seu projeto, através da sua IDE de preferência.
Para isso iremos utilizar uma propriedade para realizar esse apontamento.
No Spring, essa propriedade é chamada de: SPRING_CONFIG_ADDITIONAL_LOCATION
.
Caso queira saber mais detalhes de sua implementação, clique aqui e será direcionado para a documentação oficial.
Essa configuração, também através de uma variável de ambiente, permite que possamos apontar um arquivo externo como configurador, dessa forma, conseguimos “injetar” as variáveis de ambiente descritas no arquivo para nosso projeto.
Para isso, basta abrir o mesmo menu que você está habituado para incluir as variáveis de ambiente, porém apontando o caminho do seu arquivo, ficando dessa forma:
name: SPRING_CONFIG_ADDITIONAL_LOCATION
value: /seu_diretorio/seu_arquivo.yml
Em um exemplo utilizando o IntelliJ, ficaria da seguinte forma:
Feito isso, basta executar o seu projeto e suas variáveis já serão atribuídas corretamente!!
Caso precisar de incluir mais variáveis de ambiente, basta atualizar seu arquivo.
Publicar comentário