Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Problema com o arquivo application.properties

Deixei o arquivo "application.properties" do jeito que foi feito na vídeo aula:

spring.datasource.url=jdbc:postgresql://${DB_HOST}/${DB_NAME} spring.datasource.username=${DB_USER} spring.datasource.password=${DB_PASSWORD} spring.datasource.driver-class-name=org.postgresql.Driver

spring.jpa.hibernate.ddl-auto=update

O que eu fiz de diferente é colocar as variáveis de ambiente no arquivo ".env" e instalei a dependencia java-dotenv no projeto. Para armazenar a OPENAI_APIKEY e usa-la na classe ConsultaChatGPT e deu tudo certo. Mas no "application.properties" acho que as variáveis não estão sendo reconhecidas. Quando tentava rodar o projeto dava um PSQLException falando que a conexão falhou.

Alguém sabe o que eu posso fazer neste caso? Acho melhor usar um arquivo .env para armazenar as variáveis de ambiente do que fazer do mesmo jeito que foi feito na vídeo aula porque acredito que vai ficar organizado para trabalhar em outros projetos.

2 respostas

Oii, Guilherme! Tudo joia?

O Spring não reconhece de forma automática as variáveis de ambiente do arquivo .env. Ele reconhece variáveis de ambiente do sistema operacional.

E para usar um arquivo .env é preciso carregar as variáveis manualmente, o que pode auxiliar é a biblioteca java-dotenv. Na plataforma temos um artigo que aborda sobre o tema que pode te auxiliar, segue o link:

Após carregar as variáveis de ambiente com o java-dotenv e configurar tudo certinho, você pode usá-las em seu código.

É sempre uma boa prática manter o seu código limpo e organizado. Mas, também indico fortemente, pelo menos em um primeiro momento, seguir conforme a aula para ter o mesmo ambiente que o instrutor e depois replicar com melhorias para expandir o desenvolvimento.

Espero ter ajudado a esclarecer a sua dúvida. Continue se dedicando aos estudos e em caso de dúvidas, conte conosco aqui no fórum.

Bons estudos, Guilherme!

solução!

Obrigado Nathalia.

Eu já consegui resolver o problema, eu só precisava colocar essa linha no início do 'application.properties' para importar o arquivo '.env': spring.config.import=optional:file:.env[.properties]