01javaBean注入配置文件值

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”})獲取到指定文件的配置
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章