- 資訊首頁(yè) > 開(kāi)發(fā)技術(shù) >
- SpringBoot @ConfigurationProperties注解的簡(jiǎn)單使用
@Target({ElementType.TYPE, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface ConfigurationProperties { @AliasFor("prefix") String value() default ""; @AliasFor("value") String prefix() default ""; boolean ignoreInvalidFields() default false; boolean ignoreUnknownFields() default true; }
向注解中傳入配置文件中的前綴名,如果配置文件如下:
myConfigs: config1: field1: f1 field2: f2 field3: f3
那么代碼中的配置類(lèi)應該這樣寫(xiě):
@Component @ConfigurationProperties("myConfigs.config1") public class MyConfig1 { String field1; String field2; String field3; }
如上所示,field1, field2, field3三個(gè)屬性就被綁定到了對象上。
注意到我們使用了@Component,實(shí)際上我們使用配置類(lèi)都是將其注入到其他類(lèi)中,所以我們往往將其注冊為Bean。
ignoreInvalidFields默認為false,不合法的屬性的屬性會(huì )默認拋出異常;
ignoreUnknownFields默認為true, 未能識別的屬性會(huì )被忽略(所以打錯了名字就會(huì )被忽略了)
@ConfigurationProperties(prefix="config.prefix", ignoreInvalidFields=true, ignoreUnknownFields=false) public class MyConfig { // fields }
Spring Boot的綁定規則相當寬松,myField, my-field, my_field等都能識別綁定到myField上。
可以給字段設定默認值,這樣配置中沒(méi)有傳入時(shí)會(huì )使用默認值。
@ConfigurationProperties("your.prefix") public class YourConfig { private String field = "Default" // setter }
類(lèi)的字段必須要有public訪(fǎng)問(wèn)權限的setter方法。
在很多情況下public的setter方法時(shí)必須的,使用IDEA的話(huà),這里推薦Alt+Insert(Windows, Mac使用Alt+n)生成;當然,想使用Lombok也可以
以上就是SpringBoot @ConfigurationProperties注解的簡(jiǎn)單使用的詳細內容,更多關(guān)于SpringBoot @ConfigurationProperties注解的資料請關(guān)注腳本之家其它相關(guān)文章!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自互聯(lián)網(wǎng)轉載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權請聯(lián)系QQ:712375056 進(jìn)行舉報,并提供相關(guān)證據,一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容。
Copyright ? 2009-2021 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 珠海市特網(wǎng)科技有限公司 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站