我的项目中有一个属性文件,它对同一文件中的其他属性或某些系统或环境变量有内部引用。我如何引用同一属性文件中的那些?
例如:
Test = testexample
foo = ${Test}/${hostname}
此处Test
应来自上述属性,hostname
来自系统变量。这适用于Spring。
提前感谢您的帮助。
答案 0 :(得分:1)
Guice允许您通过Names.bindProperties注册属性,但不提供加载属性的自有机制,因此不支持此功能。
当您设法使用其他工具读取/替换属性时,您可以注册它们,当然。
当你使用maven时,你可以考虑使用build-helper插件在构建期间替换引用,如果这对你来说已经足够了。
答案 1 :(得分:1)
这在核心Guice中不存在,但实际上可以使用Rocoto Guice extension
来实现它允许指定占位符并动态扩展它们
my.testFile = testFile.config
my.testDir = /etc
my.testPath = ${my.testDir}/${my.testFile}
它还支持默认值
my.testDir = /etc
#resolves to /etc/default.config
my.testPath = ${my.testDir}/${my.testFile|default.config}