考虑一个 Spring Boot 应用程序在多个环境(本地、Jenkins、打开Shift)。为了避免对 MySQL 凭据进行硬编码,您需要使 application.properties 动态化。作为建议的解决方案,您创建了与 OpenShift 环境变量同名的系统环境变量并分配了适当的值。
将系统环境变量合并到application.properties,添加以下行:
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}
当 Spring Boot 初始化时,它将检索这些环境变量并将它们替换为您的配置。
另一种方法是使用 Spring Boot 配置文件。将以下内容添加到 application.properties:
spring.profiles.active=local
创建一个名为 application-local.properties 的新属性文件,其中包含:
spring.datasource.url=jdbc:mysql://localhost spring.datasource.username=root spring.datasource.password=123asd
Spring Boot 将自动从 application-{ 加载属性profile-name}.properties 基于 spring.profiles.active 的值。
以上是如何在 Spring Boot 应用程序中使用环境变量来管理数据库凭据?的详细内容。更多信息请关注PHP中文网其他相关文章!