SpringBoot之@ConfigurationProperties註解的使用
阿新 • • 發佈:2018-12-18
@ConfigurationProperties(prefix = "person")註解修飾某類,其作用是告訴springBoot,此類中的屬性將與預設的全域性配置檔案中對應屬性一一繫結。屬性名必須是application.yml或application.properties。【prefix = "person"】表示與配置檔案中哪個層級的屬性進行繫結。
配置檔案的位置:\src\main\resources\application.yml
案例:bean類Person.java
package com.atguigu.springboot.bean; @Component @ConfigurationProperties(prefix = "person")//只能從預設的全域性檔案中獲取 public class Person { private String lastName; private Integer age; private Boolean boss; private Date birth; private Map<String,Object> maps; private List<Object> lists; private Dog dog; public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public Boolean getBoss() { return boss; } public void setBoss(Boolean boss) { this.boss = boss; } public Date getBirth() { return birth; } public void setBirth(Date birth) { this.birth = birth; } public Map<String, Object> getMaps() { return maps; } public void setMaps(Map<String, Object> maps) { this.maps = maps; } public List<Object> getLists() { return lists; } public void setLists(List<Object> lists) { this.lists = lists; } public Dog getDog() { return dog; } public void setDog(Dog dog) { this.dog = dog; } @Override public String toString() { return "Person{" + "lastName='" + lastName + '\'' + ", age=" + age + ", boss=" + boss + ", birth=" + birth + ", maps=" + maps + ", lists=" + lists + ", dog=" + dog + '}'; } }
配置檔案:
person:
lastName: fang \n xin \n de
age: 18
boss: false
birth: 2018/12/10
maps: {a1: fang, a2: li,a3: zhang}
lists: [cat,pig,dog]
dog:
name: xiaogou10號
age: 1
測試案例:
package com.atguigu.springboot; @RunWith(SpringRunner.class) @SpringBootTest public class SpringBoot02ConfigApplicationTests { @Autowired Person person; @Test public void contextLoads() { System.out.println(person); } }
列印結果:
Person{lastName='fang \n xin \n de', age=18, boss=false, birth=Mon Dec 10 00:00:00 CST 2018, maps={a1=fang, a2=li, a3=zhang}, lists=[cat, pig, dog], dog=Dog{name='xiaogou10號', age=1}}