关于yml文件字符串,List,Map的书写方式并使用@ConfigurationProperties注入配置类
作者:搏·梦
这篇文章主要介绍了关于yml文件字符串,List,Map的书写方式并使用@ConfigurationProperties注入配置类,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
1. 常规例子
先准备好一个配置类,如下:
1. 使用@ConfigurationProperties 该类必须是个bean对象。
2. 该类必须有setting方法,否则无法注入值。
@Setter
@Getter
@Component
@ConfigurationProperties(prefix = "test")
public class TestConfig {
// 字符串
private String userName;
// Integer
private Integer sum;
// boolean
private boolean flag;
private int size;
// 对象
private Person person;
// List<对象>
private List<Person> personList;
// Map<String, 对象>
private Map<String, Person> map;
@Setter
@Getter
static class Person {
private String name;
private int age;
}
}
yml文件写法如下:
test:
user-name: test1
sum: 20
flag: false
size: 100
person:
name: person1
age: 18
person-list:
- name: person1
age: 1
- name: person2
age: 2
- name: person3
age: 3
map:
key1:
name: map1
age: 1
key2:
name: map2
age: 2
结果:

2. 非常规例子(不建议)
@ConfigurationProperties 不配prefix,默认是从yml文件根结构开始,如下例子:
@Setter
@Getter
@Component
@ConfigurationProperties()
public class TestConfig {
// List<对象>
private List<Person> personList;
@Setter
@Getter
static class Person {
private String name;
private int age;
}
}
person-list:
- name: person1
age: 1
- name: person2
age: 2
- name: person3
age: 3

总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
