Spring Boot中yml配置文件中的Spring EL

3
我想在某些环境变量被设置的情况下有条件地替换值。
例如:
spring:
  profiles:
    include:
    - 'base'
    - 'FOO' (only if `FOO` is set to true in env variable)

那么为什么不将 FOO 作为活动配置文件传递呢? - Ryuzaki L
@Deadpool 我想通过application.yml控制配置的包含。 - user3833308
2个回答

0

0

YAML本身没有条件逻辑,但是如果你愿意将值放在环境变量中,你可以这样做:

spring:
  profiles:
    include: ${MY_FOO_ENV:base}

将MY_FOO_ENV设置为'FOO'。':base'会在环境中未定义MY_FOO_ENV时设置默认值。


让我澄清一下问题。无论如何,我都希望列表中有“base”,只有在环境变量中设置了“FOO”时,我才想将“FOO”添加到列表中。 - user3833308
所以将您的环境变量设置为'base,FOO'。 - Kieveli
列表在YAML中的语法不同,它不是逗号分隔的值。 - user3833308
有些日子我很有用 - 有些日子不太行。 =/ - Kieveli
您也可以切换到.properties文件 - 这样逗号分隔就很好用了。 - Kieveli
目前不支持使用properties选项,感谢您的努力,Kieveli。 - user3833308

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接