Maison >Java >javaDidacticiel >Comment puis-je utiliser des variables d'environnement pour gérer les informations d'identification de base de données dans une application Spring Boot ?

Comment puis-je utiliser des variables d'environnement pour gérer les informations d'identification de base de données dans une application Spring Boot ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-27 04:31:15510parcourir

How Can I Use Environment Variables to Manage Database Credentials in a Spring Boot Application?

Utilisation de variables d'environnement dans l'application.properties de Spring Boot

Contexte

Considérons une application Spring Boot se connectant à MySQL dans plusieurs environnements (local, Jenkins, OpenShift). Pour éviter de coder en dur les informations d'identification MySQL, vous devez rendre application.properties dynamique. En tant que solution proposée, vous avez créé des variables d'environnement système portant les mêmes noms que les variables d'environnement OpenShift et attribué des valeurs appropriées.

Utilisation de variables d'environnement dans application.properties

Pour incorporer des variables d'environnement système dans application.properties, ajoutez les lignes suivantes :

spring.datasource.url = ${OPENSHIFT_MYSQL_DB_HOST}:${OPENSHIFT_MYSQL_DB_PORT}/"nameofDB"
spring.datasource.username = ${OPENSHIFT_MYSQL_DB_USERNAME}
spring.datasource.password = ${OPENSHIFT_MYSQL_DB_PASSWORD}

Lorsque Spring Boot s'initialise, il récupérera ces variables d'environnement et les remplacera dans votre configuration.

Approche alternative

Une approche alternative consiste à utiliser les profils Spring Boot. Ajoutez ce qui suit à application.properties :

spring.profiles.active=local

Créez un nouveau fichier de propriétés nommé application-local.properties contenant :

spring.datasource.url=jdbc:mysql://localhost
spring.datasource.username=root
spring.datasource.password=123asd

Spring Boot chargera automatiquement les propriétés de application-{ profile-name}.properties basé sur la valeur de spring.profiles.active.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn