【发布时间】:2016-12-13 20:41:07
【问题描述】:
在 HOCON 和 Typesafe Config 中,如何设置默认值以防替换。
它支持这样的东西吗??
${server.host: 'localhost'} -> 如果 server.host 设置(在相同的配置文件中或通过环境设置)它会替换,如果未设置则选择默认值
【问题讨论】:
标签: java properties typesafe-config hocon
在 HOCON 和 Typesafe Config 中,如何设置默认值以防替换。
它支持这样的东西吗??
${server.host: 'localhost'} -> 如果 server.host 设置(在相同的配置文件中或通过环境设置)它会替换,如果未设置则选择默认值
【问题讨论】:
标签: java properties typesafe-config hocon
来自substitutions的官方文档:
如果使用 ${?foo} 语法的替换未定义:
- 如果它是对象字段的值,则不应创建该字段。如果该字段将覆盖先前设置的值 相同的字段,则保留之前的值。
所以这是使用object merging 的一种可能的解决方法:
defaults {
foo: "default Value"
}
item = ${defaults} {
foo: ${?bar}
}
甚至更简单:
item = {
foo: "default Value"
foo: ${?bar}
}
【讨论】: