1.@ConfigurationProperties
在实体类或者配置类中使用@ConfigurationProperties注解进行配置,这样配置的好处是可以一次性对整个对象进行配置而不是单个属性
这是实体类:
@ConfigurationProperties(prefix = "person")
public class Person {
private String name;
private int age;
private Dog dog;
private List list;
private Map<String,String> map;
public Person() {
}
}
这是配置文件(.yml):
Person:
name: shenjian
age: 18
dog:
name: goudan
age: 3
list:
- chuiniu
- shuijiao
- wanyouxi
-
map: {k1: v12,k2: v2}
我这个了配置文件里是Person但是实体类中用的是person,难道不区分大小写么?
下面是测试结果
Person{name='shenjian', age=18, dog=Dog{name='goudan', age=3}, list=[chuiniu, shuijiao, wanyouxi, ], map={k1=v12, k2=v2}}
2.@value
在实体类的属性上使用@value进行配置
下面是实体类:
public class Dog {
@Value("${Dog.name}")
private String name;
@Value("${dog.age}")
private int age;
}
我这个特地用了一个Dog和一个dog,事实证明真的不区分大小写
下面是配置文件:
Dog:
name: goudan
age: 3
下面是测试结果:
Dog{name='goudan', age=3}