我正在尝试使用 @ConfigurationProperties
将 external.yml
属性注入(inject) POJO 并使用 导入我的
。所有其他的都被注入(inject)到 POJO 但不是一个复杂的列表。external.yml
文件>@PropertySource
一个。我尝试将 @NestedConfigurationProperty
用于复杂列表和 map 。
b.我尝试将复杂的 POJO 作为内部静态和外部类。
C。尝试了 @EnableConfigurationProperties
注释。等等
ExternalProp.java
@Component
@PropertySource(value = "classpath:external.yml", encoding = "UTF-8")
@ConfigurationProperties
@Data
public class ExternalProp {
private String bla;
private List<Person> persons;
private List<String> other;
@Data
public static class Person {
private int age;
private String name;
private Map<String, String> args;
}
}
external.yml
bla: bkdfjgkdf
persons:
- age: 12
name: bla1
args:
a0: a0dev
a1: a1dev
a2: a2dev
- age: 12
name: bla2
args:
b0: b0dev
b1: b1dev
b2: b2dev
strings: bla, bla1
bla: bkdfjgkdf
和 strings: bla, bla1
已被正确注入(inject),但不是人。我哪里出错了。
并将相同的 persons
对象复制到 application.yml
文件,然后,BOOM,正确获取值。
我期待一个包含一些 Map args
的人员列表。
最佳答案
我相信这与您的 yml 格式有关。 试试这个
external.yml
bla: bkdfjgkdf
persons:
- age: 12
name: bla1
args:
a0: a0dev
a1: a1dev
a2: a2dev
- age: 12
name: bla2
args:
b0: b0dev
b1: b1dev
b2: b2dev
strings: bla, bla1
关于java - Spring Boot + Yaml + @PropertySource + @ConfigurationProperties + 属性源文件中的列表不注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57409781/
相关文章:
android - 如何在 kotlin 中使用 http 请求将图像上传到服务器?
reactjs - 在 React BootStrap 中的行元素之间添加空格
visual-studio-app-center-distribute - 是否可以在 AppCen
reactjs - GraphQL 返回数据但在代码中未定义
javascript - 是否可以禁用整个主体(包括内部 iFrame)的填写付款表格?
jpa - Spring Data JPA Projection嵌套列表投影接口(interface
angular - 如何修复 "Could not determine the dependenci