【发布时间】:2015-07-24 22:47:52
【问题描述】:
我有一个如下所示的application.properties 文件:
mcl.sso.frontend-url=http://blah.com:9001
mcl.sso.mocking-agent=false
我正在尝试从命令行覆盖这两个变量。这应该可以通过设置环境变量来实现。这是我运行命令的方式:
MCL_SSO_FRONTEND_URL='foobar' MCL_SSO_MOCKING_AGENT='true' ./gradlew run
但是,当我打印出这些变量的值时,mcl.sso.mocking-agent 等于“true”(如预期),但 mcl.sso.frontend-url 仍等于“http://blah.com:9001”(意外)。为什么mcl.sso.frontend-url 不改变属性的值?我只能假设这与 Spring 将环境变量转换为属性键的方式有关,但我找不到任何具体的文档。
【问题讨论】:
-
您正在寻找“宽松的属性绑定”,而它的实际实现方式是……优雅。我不记得它的生成器在哪里,但这可能是一个开始。
-
@AnandShah 谢谢,这是一个有用的参考。
标签: java spring spring-boot