我想在某些环境变量被设置的情况下有条件地替换值。
例如:
例如:
spring:
profiles:
include:
- 'base'
- 'FOO' (only if `FOO` is set to true in env variable)
spring:
profiles:
include:
- 'base'
- 'FOO' (only if `FOO` is set to true in env variable)
您可以查看文档:https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-profiles.html
如文档所述:您可以动态设置,因此您将需要在应用程序运行之前创建一些组件,在这些组件中,您将需要验证环境变量中是否存在具有该键的某些变量。 您可以使用@Value("$ {FOO}") String foo; 因此,在该组件中验证foo是否与null不同,然后设置Profiles。
YAML本身没有条件逻辑,但是如果你愿意将值放在环境变量中,你可以这样做:
spring:
profiles:
include: ${MY_FOO_ENV:base}
将MY_FOO_ENV设置为'FOO'。':base'会在环境中未定义MY_FOO_ENV时设置默认值。
FOO
作为活动配置文件传递呢? - Ryuzaki Lapplication.yml
控制配置的包含。 - user3833308