如何重用YAML文件中的环境变量?

时间:2019-02-12 13:36:45

标签: spring-boot environment-variables yaml

我正在尝试在YAML文件中重用Environment变量。 问题是我需要使用Environment变量的值(如果存在)或默认值。但是此默认值在配置的不同位置有所不同。

例如,我可以这样做:

urls:
 url1: ${BASE_URL:http://1}
 url2: ${BASE_URL:http://2}

... 等等。

但是我想做的是:

urls:
 base: ${BASE_URL}
 url1: ${urls.base:http://1}
 url2: ${urls.base:http://2}

问题在于,在后一种方法中,如果未设置Environment变量,则属性 urls.base 将具有此字符串“ $ {BASE_URL}”作为值,因此将不使用默认值

如果我将默认的空值设置为 urls.base 属性,则url1和url2将为空,并且将不使用任何默认值。

除了重用环境变量外,其他原因还有:

  • 更好的名字
  • 如果变量存在并且没有空值,请执行逻辑

PD:我正在使用Spring Boot

0 个答案:

没有答案