Jos*_* M. 5 java spring yaml spring-boot
我有一个JAR,其中包含一个application.yml。该YAM文件包含一个数组,例如:
things:
- name: one
color: red
Run Code Online (Sandbox Code Playgroud)
我需要在运行时通过application.yml在JAR所在的目录中添加其他文件来调整此数组。但是,我不确定如何追加到数组,因为follow config似乎替换了JAR内置YAML文件中的配置:
things:
- name: red
color: blue
Run Code Online (Sandbox Code Playgroud)
最后,在运行时,我需要这样做:
things:
- name: one
color: red
- name: two
color: blue
Run Code Online (Sandbox Code Playgroud)
小智 1
似乎有人问过类似的问题。听起来不支持。查看文档,我发现一些较旧的文档显示它不受支持。
\n\n\n当在多个配置文件中指定一个集合时,将使用优先级最高的一个(并且仅使用该一个):
\nRun Code Online (Sandbox Code Playgroud)\nfoo:\n list:\n - name: my name\n description: my description\n - name: another name\n description: another description\n---\nspring:\n profiles: dev\nfoo:\n list:\n - name: my another name\n在上面的示例中,考虑到 dev 配置文件处于活动状态,FooProperties.list 将包含一个 MyPojo 条目(名称为 \xe2\x80\x9cmy,另一个名称为 \xe2\x80\x9d,描述为 null)。
\n
较新的 2.6.0 快照文档提到了相同的内容,但似乎鼓励您将密钥命名为它们自己的对象。您可能无法访问引入它们的 bean,但如果可以的话,以这种方式构建其他 bean 可能会更好。
\n\n\n考虑以下配置:
\nRun Code Online (Sandbox Code Playgroud)\nmy:\n map:\n key1:\n name: "my name 1"\n description: "my description 1"\n---\nspring:\n config:\n activate:\n on-profile: "dev"\nmy:\n map:\n key1:\n name: "dev name 1"\n key2:\n name: "dev name 2"\n description: "dev description 2"\n如果开发配置文件未激活,MyProperties.map 将包含一个带有键 key1 的条目(名称为我的姓名 1,描述为我的描述 1)。但是,如果启用了 dev 配置文件,则映射包含两个条目,其中键为 key1(名称为 dev name 1,描述为我的描述 1)和 key2(名称为 dev name 2,描述为 dev description 2) 。
\n
| 归档时间: |
|
| 查看次数: |
84 次 |
| 最近记录: |