HOCON替换默认值

时间:2016-08-08 06:59:33

标签: java properties typesafe-config hocon

在HOCON和Typesafe配置中,如何在替换时设置默认值。

它是否支持这样的事情?

${server.host: 'localhost'} - >如果server.host设置(在相同的配置文件中或通过环境设置),则替换为如果未设置,则选择默认值

1 个答案:

答案 0 :(得分:7)

来自substitutions的官方文档:

  

如果未定义$ {?foo}语法的替换:

     
      
  • 如果它是对象字段的值,则不应创建该字段。如果该字段将覆盖先前设置的值   相同的字段,则前一个值仍然存在。
  •   

所以这是使用object merging的一种可能的解决方法:

defaults {
  foo: "default Value"
}

item = ${defaults} {
  foo: ${?bar}
}

甚至更简单:

item = {
  foo: "default Value"
  foo: ${?bar}
}
相关问题