Lors du développement d'applications Spring Boot, la gestion des configurations de bases de données dans divers environnements tels que local, Les serveurs CI et la production peuvent devenir un défi. Une approche pour résoudre ce problème consiste à exploiter les variables environnementales pour définir dynamiquement les propriétés de la source de données dans le fichier application.properties.
Dans une configuration multi-environnements, coder en dur les informations d'identification MySQL dans application.properties pose un problème important. À mesure que l'application passe par les environnements locaux, Jenkins et OpenShift, la configuration de la source de données doit être ajustée en conséquence. Pour résoudre ce problème, des variables d'environnement peuvent être utilisées pour remplir dynamiquement les champs de source de données dans application.properties.
Les variables d'environnement offrent un moyen pratique de stocker des configurations d'exécution qui peuvent être facilement définies et modifiées. à travers les environnements. En déclarant des variables d'environnement système (par exemple, OPENSHIFT_MYSQL_DB_HOST, OPENSHIFT_MYSQL_DB_PORT) et en leur attribuant les valeurs appropriées, les développeurs peuvent injecter des valeurs dynamiques dans application.properties.
Pour incorporer des variables d'environnement dans l'application .properties, la syntaxe suivante peut être employé :
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}
Alternativement, comme suggéré par Stefan Isele, tirer parti du mécanisme de configuration de profil de Spring Boot est une approche plus concise et élégante. En définissant un profil personnalisé et en créant un fichier de propriétés associé (par exemple, application-local.properties), l'application chargera automatiquement la configuration appropriée en fonction du profil actif.
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!