通过环境变量设置Spring Boot Yaml配置列表属性

feo*_*eob 5 spring spring-boot spring-properties

我正在使用application.yml文件配置Spring Boot应用程序:

foo:
  bar: foobar
foolist:
- bar: foobar1
  baz: foobaz1
- bar: foobar1
  baz: foobaz1
Run Code Online (Sandbox Code Playgroud)

我可以使用环境变量轻松设置foo.bar值,例如

export FOO_BAR=value
Run Code Online (Sandbox Code Playgroud)

如何设置foolist入口的值?FOOLIST[0]_BAR不是有效的标识符,FOOLIST_0_BAR因此不起作用。

Sla*_*hin 6

可以在SPRING_APPLICATION_JSON环境变量中提供任意 JSON 对象:

export SPRING_APPLICATION_JSON='{"foolist":[{"bar": "foobar1", "baz: foobaz1"}, {"bar": "foobar2", "baz: foobaz2"}]}'
Run Code Online (Sandbox Code Playgroud)

文档位于:https://docs.spring.io/spring-boot/docs/1.4.x/reference/html/boot-features-external-config.html