【发布时间】:2015-10-14 12:41:36
【问题描述】:
我正在尝试参数化我的 application.yml 文件,以便我可以将它与我的项目一起放在 github 存储库中,但不会显示数据库连接详细信息。我想使用系统环境变量来做到这一点。我使用 OS X El Capitan。
我在.bash_profile 中添加了以下几行:
export JDBC_TODO_USER=<my-username>
export JDBC_TODO_PASS=<my-password>
以及我的application.yml 中的以下行:
spring:
datasource:
username: ${JDBC_TODO_USER}
password: ${JDBC_TODO_PASS}
我也试过
spring:
datasource:
username: ${JDBC.TODO.USER}
password: ${JDBC.TODO.PASS}
这两个在应用程序启动期间都会给我一个错误:
java.sql.SQLInvalidAuthorizationSpecException: Could not connect: Access denied for user '${JDBC_TODO_USER'@'<my-ip-address>' (using password: YES)
当然,当我将${JDBC_TODO_USER} 替换为我的用户名并用我的密码替换${JDBC_TODO_PASS} 时,一切正常。看起来 Spring 不明白我指的是环境变量。我需要做一些额外的配置才能让它工作吗?
【问题讨论】:
标签: spring spring-boot