轉自:https://www.codeneko.cn/?p=175
在SpringBoot使用@ConfigurationProperties注解讀取yml/properties配置文件參數
1. 添加依賴
在pom文件中添加依賴
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency>
2. 在yml/properties文件中添加配置
這里使用yml格式配置文件配置
config: entity: cat: name: Tomcat sex: male age: 9
3. 創建類
創建一個類,並且添加注解@ConfigurationProperties和指定的prefix。
類必須實現setter方法,否則無法配置對象對應的屬性變量!!!
@ConfigurationProperties(prefix = "config.entity.cat") @Component public class Cat { private String name; private String sex; private int age; private String family; public void setName(String name) { this.name = name; } public void setSex(String sex) { this.sex = sex; } public void setAge(int age) { this.age = age; } public void setFamily(String family) { this.family = family; } // 省略getter @Override public String toString() { return "Cat{" + "name='" + name + '\'' + ", sex='" + sex + '\'' + ", age=" + age + ", family='" + family + '\'' + '}'; } }
4. 測試
控制台輸出對象信息:
Cat{name='Tomcat', sex='male', age=9, family='null'}
可以看到在配置文件中所配置的參數都正確的注入到Cat對象中,而在配置文件中沒有配置的family屬性默認為null。