通过环境变量设置 Spring boot yaml 配置列表 属性

Set Spring boot yaml configuration list property via environment variables

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

foo:
  bar: foobar
foolist:
- bar: foobar1
  baz: foobaz1
- bar: foobar1
  baz: foobaz1

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

export FOO_BAR=value

如何设置foolist条目的值? FOOLIST[0]_BAR 不是有效标识符,FOOLIST_0_BAR 无效。

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

export SPRING_APPLICATION_JSON='{"foolist":[{"bar": "foobar1", "baz: foobaz1"}, {"bar": "foobar2", "baz: foobaz2"}]}'

文档在这里:https://docs.spring.io/spring-boot/docs/1.4.x/reference/html/boot-features-external-config.html