Lors du développement d'une application Spring Boot qui utilise MySQL dans plusieurs environnements (local, CI/CD, production), il est essentiel pour gérer les informations d'identification de la base de données de manière dynamique.
Le problème :
Dans application.properties, l’approche typique consiste à coder en dur les informations MySQL. Cependant, cela présente des défis lors de l'exécution du projet dans différents environnements, car chaque environnement peut avoir ses propres configurations de base de données.
Solution proposée :
Pour résoudre le problème, le La suggestion est de créer des variables d'environnement système avec des valeurs appropriées pour chaque environnement. Ces variables d'environnement peuvent ensuite être utilisées dans application.properties pour rendre le champ de la source de données dynamique.
Étapes pour utiliser les variables d'environnement :
Créer des variables d'environnement système :
Créez les variables d'environnement système suivantes pour MySQL configurations :
Incorporez les variables d'environnement dans application.properties :
Dans application.properties, remplacez les valeurs codées en dur par l'environnement variables :
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}
Approche alternative :
Une autre approche recommandée consiste à utiliser les propriétés spécifiques au profil de Spring. En déclarant la variable d'environnement spring.profiles.active, Spring peut lire automatiquement le fichier de propriétés correspondant en fonction du profil actif. Par exemple :
Dans cette approche, le fichier application.properties reste inchangé, tandis que les configurations spécifiques à l'environnement sont définies dans la propriété spécifique au profil. fichiers.
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!