springboot 使用yml配置文件自定義屬性的操作代碼
springboot 使用yml配置文件自定義屬性
springboot 中在application.yml文件里自定義屬性值,配合@Value注解可以在代碼中直接取到相應(yīng)的值,如在application.yml中添加
mqtt: serverURI: tcp://192.168.125.250:1939 topic:
在代碼中可以用
@Value("${mqtt.topic}") private String topic ; @Value("${mqtt.serverURI}") private String serverURI ;
取到相應(yīng)的值;
如果java代碼里的屬性值是靜態(tài)的,用上面的方式獲取不到值,要使用set方法,如:
private static String username ; private static String password ; @Value("${yunfei.username}") public void setUsername(String username) { HttpCilent.username = username; } @Value("${yunfei.password}") public void setPassword(String password) { HttpCilent.password = password; }
set方法不能是靜態(tài)的,否則取不到值。
ps:@Value 注解包是
org.springframework.beans.factory.annotation.Value;
要取屬性值的對象必須注入到spring中,否則也取不到值
擴(kuò)展:
SpringBoot-屬性配置yaml自定義屬性和值
SpringBoot-屬性配置yaml自定義屬性和值
在SpringBoot中yml/yaml文件可以自定義一些屬性,以供注入給自定義bean對象的屬性。主要通過空格和層次來實現(xiàn),類似于python代碼。
以下是一個Person類的yml文件:
person: name: rayfoo sex: man age: 18 hobby: 1,2,3 listPro: - val1 - val2 - val3 listMapPro: - key1: val1 key2: val2 - key1: val1 key2: val2 car: id: 01 color: red price: 199999.99
下面是該類的Java代碼:
packagecn.rayfoo.bean; ? importlombok.Data; importorg.springframework.boot.context.properties.ConfigurationProperties; ? importjava.util.List; importjava.util.Map; ? /** * @author 張瑞豐 * @description * @date 2019/11/8 */ @Data @ConfigurationProperties(prefix="person") publicclassPerson{ ? privateStringname; privateStringsex; privateIntegerage; privateString[] hobby; privateList<String>listPro; privateList<Map<String,Object>>listMapPro; privateCarcar; ? }
下面是其關(guān)聯(lián)的car類
packagecn.rayfoo.bean; ? importlombok.Data; ? /** * @author 張瑞豐 * @description * @date 2019/11/8 */ @Data publicclassCar{ privateIntegerid; privateStringcolor; privateDoubleprice; } ?
到此這篇關(guān)于springboot 使用yml配置文件自定義屬性的文章就介紹到這了,更多相關(guān)springboot 配置文件自定義屬性內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java 單元測試 對h2數(shù)據(jù)庫數(shù)據(jù)清理方式
這篇文章主要介紹了java 單元測試 對h2數(shù)據(jù)庫數(shù)據(jù)清理方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09java并發(fā)編程關(guān)鍵字volatile保證可見性不保證原子性詳解
這篇文章主要為大家介紹了java并發(fā)編程關(guān)鍵字volatile保證可見性不保證原子性詳解,文中附含詳細(xì)示例說明,有需要的朋友可以借鑒參考下,希望能夠有所幫助2022-02-02Maven項目部署到Jboss出現(xiàn)Failed to create a new SAX parser
這篇文章主要為大家詳細(xì)介紹了Maven項目部署到Jboss出現(xiàn)Failed to create a new SAX parser的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-11-11IDEA無法識別相關(guān)module模塊問題的解決過程
這篇文章主要給大家介紹了關(guān)于IDEA無法識別相關(guān)module模塊問題的解決過程,文中通過圖文介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用IDEA具有一定的參考借鑒價值,需要的朋友可以參考下2023-07-07