Spring Boot讀取properties


原文地址:http://www.yiidian.com/springboot/springboot-properties.html

Spring Boot里面有兩個注解可以讀取application.properties或application.yml文件的屬性值。

  1. @Value
  2. @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

file

歡迎關注我的公眾號::一點教程。獲得獨家整理的學習資源和日常干貨推送。
如果您對我的系列教程感興趣,也可以關注我的網站:yiidian.com


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM