解讀@ConfigurationProperties使用時的幾個常見誤區(qū)
@ConfigurationProperties使用時幾個常見誤區(qū)
1、@ConfigurationProperties可以讀取properties文件
但不可以讀取yml或者yaml文件(可以讀取application.yaml/yml)
2、使用@ConfigurationProperties(prefix=“demo”)
結(jié)合@PropertySource指定文件名為xxx.properties時,如果application.properties/yaml/yml配置文件里存在以demo為前綴的字段,并且字段相匹配,
讀取到的數(shù)據(jù)將會是application.properties/yaml/yml文件中的,此時指定xxx.properties無效;
并且application.properties優(yōu)先級高于application.yaml/yml
3、@ConfigurationProperties(prefix=“demoAbc”)
不論是properties/yaml/yml哪種文件,prefix都不能以駝峰形式命名,否則會報錯,找不到該前綴,全小寫形式就可以
4、使用@ConfigurationProperties時
必須使用lombok的@Data注解,或者自己手動加入字段的set、get 方法,
否則獲取到的值全為null,該注解沒有通過@Value來顯式讀取數(shù)據(jù),底層可能通過set、get方法來獲取值。
5、@ConfigurationProperties作用的類
限定prefix=demo時,如果配置文件中沒有demo.xxxa,而該類中定義了字段String xxxa時,默認該字段為null,不會報錯;
就算找不到匹配的prefix,也會默認將所有字段置為null
6、@ConfigurationProperties的ignoreUnknownFields 屬性默認=true的
如果為false,當配置文件中有字段demo.xxxb,而類中沒有xxxb字段時,將會報錯。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java servlet通過事件驅(qū)動進行高性能長輪詢詳解
這篇文章主要介紹了基于servlet3.0+事件驅(qū)動實現(xiàn)高性能長輪詢的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2022-06-06java中@JsonFormat和@JSONField的使用方法詳解
這篇文章主要介紹了java中@JsonFormat和@JSONField使用的相關(guān)資料,@JsonFormat和@JSONField都是用于處理日期格式化的注解,但分別屬于不同的庫和框架,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-12-12MyBatis分頁查詢返回list的時候出現(xiàn)null的問題
這篇文章主要介紹了MyBatis分頁查詢返回list的時候出現(xiàn)null的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-07-07Java程序部署到服務(wù)器上,接口請求下載文件失敗/文件為空/文件名不對的問題
這篇文章主要介紹了Java程序部署到服務(wù)器上,接口請求下載文件失敗/文件為空/文件名不對,本文給大家分享錯誤原因及解決方法,需要的朋友可以參考下2020-07-07解讀@Scheduled任務(wù)調(diào)度/定時任務(wù)非分布式
這篇文章主要介紹了解讀@Scheduled任務(wù)調(diào)度/定時任務(wù)非分布式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08java jdbc連接mysql數(shù)據(jù)庫實現(xiàn)增刪改查操作
這篇文章主要為大家詳細介紹了java jdbc連接mysql數(shù)據(jù)庫實現(xiàn)增刪改查操作,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-07-07