关于yml文件字符串,List,Map的书写方式并使用@ConfigurationProperties注入配置类
更新时间:2023年12月15日 14:54:06 作者:搏·梦
这篇文章主要介绍了关于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

总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
java高并发InterruptedException异常引发思考
这篇文章主要为大家介绍了java高并发InterruptedException异常引发思考,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2022-08-08
java 枚举类定义静态valueOf(java.lang.String)方法的问题及解决
这篇文章主要介绍了java 枚举类定义静态valueOf(java.lang.String)方法的问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-09-09
使用lombok@Data存在extends时需要注意的问题
在Java编程中,正确实现equals方法是保证对象比较一致性的关键,使用instanceof检查类型可能导致违反对称性原则,即当子类和父类都重写equals时可能出现a.equals(b)不等于b.equals(a)的情况,Lombok的@EqualsAndHashCode注解可以通过callSuper=true参数2024-10-10


最新评论