原文地址:http://www.yiidian.com/springboot/springboot-properties.html
Spring Boot里面有兩個注解可以讀取application.properties或application.yml文件的屬性值。
- @Value
- @ConfigurationProperties
1 @Value
1.1 基本類型
1)配置
nickname=eric
age=20
2)SpringBoot讀取配置
/**
* @Value注解 - 讀取application.properties屬性
* 一點教程網 - www.yiidian.com
*/
@Controller
public class ConfigController {
//1.1 讀取基本類型
@Value("${nickname}")
private String nickname;
@Value("${age}")
private Integer age;
1.2 JavaBean類型
1)配置
user.nickname=jack
user.age=18
2)SpringBoot讀取配置
/**
* @Value注解 - 讀取application.properties屬性
* 一點教程網 - www.yiidian.com
*/
@Controller
public class Config2Controller {
//1.2 讀取JavaBean類型
@Value("${user.nickname}")
private String nickname;
@Value("${user.age}")
private Integer age;
```
### 1.3 數組/List集合
1)配置
```properties
user.list=eric,jack,rose
2)SpringBoot讀取配置
/**
* @Value注解 - 讀取application.properties屬性
* 一點教程網 - www.yiidian.com
*/
@Controller
public class Config3Controller {
//1.3 讀取數組/List集合類型
@Value("#{'${user.list}'.split(',')}")
private List<String> list;
1.4 Map集合
1)配置
user.map={nickname:'eric',age:20}
2)SpringBoot讀取配置
/**
* @Value注解 - 讀取application.properties屬性
* 一點教程網 - www.yiidian.com
*/
@Controller
public class Config4Controller {
//1.4 讀取Map集合類型
@Value("#{${user.map}}")
private Map<String,Object> map;
2 @ConfigurationProperties
2.1 基本類型
1)配置
nickname=eric
age=20
2)SpringBoot讀取配置
/**
* @ConfigurationProperties注解 - 讀取application.properties屬性
* 一點教程網 - www.yiidian.com
*/
@Controller
@ConfigurationProperties(prefix = "")
public class Config5Controller {
//1.1 讀取基本類型
private String nickname;
private Integer age;
public void setNickname(String nickname) {
this.nickname = nickname;
}
public void setAge(Integer age) {
this.age = age;
}
注意以下幾點:
- prefix:代表屬性的前綴,如果user.nickname前綴就是user
屬性名稱必須和 - properties文件的屬性名保持一致
屬性必須提供setter方法來注入文件的屬性值
2.2 JavaBean類型
1)配置
user.nickname=jack
user.age=18
2)SpringBoot讀取配置
/**
* @ConfigurationProperties注解 - 讀取application.properties屬性
* 一點教程網 - www.yiidian.com
*/
@Controller
@ConfigurationProperties(prefix = "user")
public class Config6Controller {
//1.2 讀取JavaBean類型
private String nickname;
private Integer age;
public void setNickname(String nickname) {
this.nickname = nickname;
}
public void setAge(Integer age) {
this.age = age;
}
2.3 數組/List集合
1)配置
user.list2[0]=eric
user.list2[1]=jack
user.list2[2]=rose
2)SpringBoot讀取配置
/**
* @ConfigurationProperties注解 - 讀取application.properties屬性
* 一點教程網 - www.yiidian.com
*/
@Controller
@ConfigurationProperties(prefix = "user")
public class Config7Controller {
//1.3 讀取數組/List集合類型
private List<String> list2;
public void setList2(List<String> list2) {
this.list2 = list2;
}
2.4 Map集合
1)配置
user.map2.nickname=eric
user.map2.age=20
```properties
2)SpringBoot讀取配置
```java
/**
* @ConfigurationProperties注解 - 讀取application.properties屬性
* 一點教程網 - www.yiidian.com
*/
@Controller
@ConfigurationProperties(prefix = "user")
public class Config8Controller {
//1.4 讀取Map集合類型
private Map<String,Object> map2;
public void setMap2(Map<String, Object> map2) {
this.map2 = map2;
}
源碼下載:https://pan.baidu.com/s/1eAwxjQClVt3TxuqtL6VbIA
歡迎關注我的公眾號::一點教程。獲得獨家整理的學習資源和日常干貨推送。
如果您對我的系列教程感興趣,也可以關注我的網站:yiidian.com