@ConfigurationProperties(prefix="connection ")//與bean結合,為屬性賦值通過指定類名來綁定該類的屬性,支持松散語法,從屬性文件獲取類的屬性,默認從全局配置文件中獲取值;
我們想把配置文件的信息,讀取並自動封裝成實體類,這樣子,我們在代碼里面使用就輕松方便多了
@Component @ConfigurationProperties(prefix="connection") public class ConnectionSettings { private String username; private String remoteAddress; private String password ; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getRemoteAddress() { return remoteAddress; } public void setRemoteAddress(String remoteAddress) { this.remoteAddress = remoteAddress; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
屬性松散綁定
表示駝峰式、下划線(_)、短橫線(-)
標准方式
person.firstName
方式一
大寫用-
person.first-name
方式二
大寫用_
person.first_name
三種方式,都可以使用
推薦,屬性書寫方式
PERSON_FIRST_NAME
@value(" ") 格式 ${ }
可以從配置文件單個獲取屬性值,只能取出一些簡單的值,不能獲取map,List等復雜類型的封裝
配置文件yml還是properties他們都能獲取:
我們只是在某個業務邏輯中需要獲取一下配置文件中的某項值,使用@value
如果,專門編寫了一個JavaBean來和配置文件進行映射;那我們直接使用@ConfigurationProperties一次性全部獲取