【发布时间】:2017-12-13 22:14:41
【问题描述】:
我已经在我的机器上导出了一些简单的数据库凭据作为 ENV 变量。
export MYSQL_USER=root
export MYSQL_PASS=pass
我正在尝试将这些动态加载到我的配置文件中,但无济于事。我开始相信这是因为应用程序在 TomCat 容器内运行,因此与机器环境变量隔离。
开发环境应用程序属性文件
spring.datasource.username = ${MYSQL_USER}
但是,它仍然被视为${MYSQL_USER} 的纯文本。 Spring Boot 是否具有读取系统环境变量的能力?
【问题讨论】:
-
您能提供一个示例项目吗?您确定运行 SpringBoot 应用程序的配置文件/用户正确加载了这些值吗?例如,您是否将这些导出添加到“/etc/profile.d/mysql.sh”文件中?
-
我只是在终端中导出了这些,如上所示,但我不知道如何将系统环境变量实际加载到 Spring Boot 中。
-
好的,如果您打开另一个终端并回显这些变量而不手动导出它们,会显示什么?
-
用户名显示在新的终端实例中
标签: java spring-boot