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

Como deixar as credenciais do banco de dados no servidor que mantem a aplicação?

Criei uma aplicação usando o spring boot. Para rodar a aplicação gerei um .war e estou rodando em um servidor web tomcat separado. No application.properties eu tenho que especificar os dados para conexão com o banco, desta forma.

################ BANCO DE DADOS ################
spring.datasource.url=jdbc:mysql://localhost:3306/meuBanco?useTimezone=true&serverTimezone=UTC&createDatabaseIfNotExist=true
spring.datasource.driverClassName=com.mysql.jdbc.Driver

spring.datasource.username=root
spring.datasource.password=123456789
spring.jpa.hibernate.ddl-auto=validate

Teria alguma forma de permitir que o próprio tomcat realize as conexões de forma que eu não necessite expor as credenciais no application.properties?

3 respostas

Oi Mayki,

O ideal para utilizar em produção seria expor as informações em variáveis de ambiente.

No terceiro curso de Spring Boot é mostrado essa parte de deploy: https://cursos.alura.com.br/course/spring-boot-profiles-testes-deploy

Alguns servidores como o wildfly e o tomcat permitem configurar o Datasource e manter a configuração de conexão no servidor em vez da aplicação, já vi isso sendo usado com JPA.

Teria como "Pegar" esse datasource do servidor e usar na aplicação com spring boot?

solução!

Oi Mayki,

Ah sim, nesse caso você pode ter o datasource configurado no servidor e no application.properties da aplicação utilizar apenas essa propriedade para configurar a parte do banco de dados:

spring.datasource.jndi-name=java:jboss/datasources/NomeDoSeuDataSource

Seria utilizando JNDI e essa configuração varia de servidor para servidor.

Bons estudos!