1. 程式人生 > >SpringBoot讀取配置文件

SpringBoot讀取配置文件

ng- 加載 註入 ati string rri pan over ali

(1)添加pom依賴

1         <!-- 添加這個配置文件處理器,編寫配置文件就有智能提示功能了-->
2         <dependency>
3             <groupId>org.springframework.boot</groupId>
4             <artifactId>spring-boot-configuration-processor</artifactId>
5             <optional>true</optional>
6
</dependency>

(2)編寫配置文件

user.id=1
user.userName=fanqi
user.passWord=fanqi
user.enabled=1

(3)編寫配置文件

 1 package cn.coreqi.entities;
 2 
 3 import org.springframework.beans.factory.annotation.Value;
 4 import org.springframework.boot.context.properties.ConfigurationProperties;
 5 import
org.springframework.context.annotation.PropertySource; 6 import org.springframework.stereotype.Component; 7 8 @Component 9 @ConfigurationProperties(prefix = "user") 10 @PropertySource(value = {"classpath:user.properties"}) //加載指定的Properties配置文件(不支持yml文件) 11 public class User { 12 //@Value("${user.id}")
13 private Integer id; 14 //@Value("${user.userName}") 15 private String userName; 16 //@Value("${user.passWord}") 17 private String passWord; 18 //@Value("${user.enabled}") 19 private Integer enabled; 20 21 public User() { 22 } 23 24 public User(Integer id, String userName, String passWord, Integer enabled) { 25 this.id = id; 26 this.userName = userName; 27 this.passWord = passWord; 28 this.enabled = enabled; 29 } 30 31 public Integer getId() { 32 return id; 33 } 34 35 public void setId(Integer id) { 36 this.id = id; 37 } 38 39 public String getUserName() { 40 return userName; 41 } 42 43 public void setUserName(String userName) { 44 this.userName = userName; 45 } 46 47 public String getPassWord() { 48 return passWord; 49 } 50 51 public void setPassWord(String passWord) { 52 this.passWord = passWord; 53 } 54 55 public Integer getEnabled() { 56 return enabled; 57 } 58 59 public void setEnabled(Integer enabled) { 60 this.enabled = enabled; 61 } 62 63 @Override 64 public String toString() { 65 return "User{" + 66 "id=" + id + 67 ", userName=‘" + userName + ‘\‘‘ + 68 ", passWord=‘" + passWord + ‘\‘‘ + 69 ", enabled=" + enabled + 70 ‘}‘; 71 } 72 }

功能 @ConfigurationProperties @Value
松散綁定(類屬性和配置文件中屬性是否一致) 支持(駝峰式、下劃式等切換) 不支持
Spring EL 表達式 不支持 支持
JSR303數據校驗 支持 不支持
復雜類型(如Map等) 支持 不支持
使用場景 批量註入配置文件中的屬性 單個指定

* Idea解決properties文件亂碼問題

技術分享圖片

SpringBoot讀取配置文件