「初识」配置文件中Map和List类型如何配置
对象、Map(属性和值)
例如配置类中的字段为:
Map maps;
在yml配置文件中,行内写法:
person.maps: {key1: value1,key2: value2}
需要注意:号后的空格,或者
person:
maps:
key: value
在properties配置文件中
person.maps.key=value
数组(List、Set)
在yml配置文件中
person:
list:
- 1
- 2
- 3
行内写法
person:
list: [1,2,3]
在properties配置文件中
person.list[0]=1
person.list[1]=2
person.list[2]=3
自定义配置属性
Spring Boot提供自定义配置组件,拿前面举例的属性来写一个规范的配置文件:
@Component // 或者@Configuration
@ConfigurationProperties(prefix = "person")
public class Person {
private Map maps;
private List list;
private String name;
private int age;
public Map getMaps() {
return maps;
}
public void setMaps(Map maps) {
this.maps = maps;
}
public List getList() {
return list;
}
public void setList(List list) {
this.list = list;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
@ConfigurationProperties 注解向Spring Boot声明该类中的所有属性和配置文件中相关的配置进行绑定。
prefix = "person":声明配置前戳,将该前戳下的所有属性进行映射。
@Component 或者@Configuration:将该组件加入Spring Boot容器,只有这个组件是容器中的组件,配置才生效。