我正在尝试使用external.yml
将@ConfigurationProperties
属性注入POJO并使用external.yml
导入我的@PropertySource
文件。所有其他内容都注入了POJO中,但不是复杂的列表。
a。我尝试将@NestedConfigurationProperty
用于复杂的列表和地图。
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
已被正确注入,但没有被正确注入。我在哪里犯错。
然后将同一persons
对象复制到application.yml
文件,然后BOOM,正确获取值。
我期望有一张地图args
的人物列表。
答案 0 :(得分:-1)
我认为这与您的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