Spring Boot没有将系统环境加载到application.properties中

时间:2017-12-13 22:14:41

标签: java spring-boot

我已经在我的机器上导出了一些简单的db信号作为ENV变量。

export MYSQL_USER=root
export MYSQL_PASS=pass

我正在尝试将这些动态加载到我的配置文件中进入spring boot,但无济于事。我开始相信这是因为应用程序在TomCat容器内运行,因此与机器env变量隔离。

开发环境应用程序属性文件

spring.datasource.username = ${MYSQL_USER}

然而,它仍被视为${MYSQL_USER}的字面纯文本。 Spring Boot是否具有读取系统环境变量的能力?

1 个答案:

答案 0 :(得分:1)

我也有同样的问题,使用$符号将OS env变量放入我的application.properties/yml。为了解决这个问题,我将变量定义为应用服务器(tomcat / jboss等)。然后只有application.properties/yml可以获取它们。 希望这会有所帮助。