application.yml
server:
prot:8080
person:
name:xiaoming
age:15
maps:{k1: v1,k2: v2}
lists:
- xiaohua
- xiaoqiang
dog:
name:xiaogou
age:5
(prefix = “person”)意思是配置文件中那個節點下面的所有屬性進行映射
@ConfigurationPrroperties(prefix = “person”)此處要獲取配置文件中preson中的值(prefix = “person”)配置"person"前綴,
@ConfigurationPrroperties(prefix = "person")
public class Person{
private String name;
private Integer age;
private Map<String,Object> maps;
private List<Object> lists;
private Dog dog;
}
導入它(配置文件處理器)以後在編寫配置文件是會有提示, 若沒有提示,可以嘗試重啓springboot
@ConfigurationPrroperties這個要起作用當前當前類必須是spring容器中的組件,只有這個組件是容器中的組件,才能使用容器提供的功能。
@Component通過這個將組件加入的容器
@Component
@ConfigurationPrroperties(prefix = "person")
@Validated//數據校驗
public class Person{
@Email //此屬性必須包含@符合
private String name;
}
上面同過@ConfigurationPrroperties
下面同過@Value("${person.name}")獲取需要將此註解寫到屬性上方
兩者區別
@ConfigurationPrroperties(prefix = “person”)
這個只能獲取到全局配置文件中的值
通過@PopertySource(value = {“classpath:person.properties”})獲取到指定文件的配置