欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot @ConfigurationProperties注解的簡單使用

 更新時間:2021年05月24日 11:37:06   作者:WinterJay  
即便現(xiàn)在簡化了配置,但是一個獨(dú)立的配置文件總是易于理解而且使人安心的。Spring在構(gòu)建完項(xiàng)目后,會默認(rèn)在resources文件夾下創(chuàng)建一個application.properties文件,application.yml也是一樣的效果。@ConfigurationProperties可以獲取配置文件中的數(shù)據(jù),將其注入類。

源碼

@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

那么代碼中的配置類應(yīng)該這樣寫:

@Component
@ConfigurationProperties("myConfigs.config1")
public class MyConfig1 {
    String field1;
    String field2;
    String field3;
}

如上所示,field1, field2, field3三個屬性就被綁定到了對象上。

注意到我們使用了@Component,實(shí)際上我們使用配置類都是將其注入到其他類中,所以我們往往將其注冊為Bean。

ignoreInvalidFields默認(rèn)為false,不合法的屬性的屬性會默認(rèn)拋出異常;
ignoreUnknownFields默認(rèn)為true, 未能識別的屬性會被忽略(所以打錯了名字就會被忽略了)

@ConfigurationProperties(prefix="config.prefix", ignoreInvalidFields=true, ignoreUnknownFields=false)
public class MyConfig {
    // fields
}

Spring Boot的綁定規(guī)則相當(dāng)寬松,myField, my-field, my_field等都能識別綁定到myField上。

可以給字段設(shè)定默認(rèn)值,這樣配置中沒有傳入時會使用默認(rèn)值。

@ConfigurationProperties("your.prefix")
public class YourConfig {
    private String field = "Default"
    // setter
}

類的字段必須要有public訪問權(quán)限的setter方法。

在很多情況下public的setter方法時必須的,使用IDEA的話,這里推薦Alt+Insert(Windows, Mac使用Alt+n)生成;當(dāng)然,想使用Lombok也可以

以上就是SpringBoot @ConfigurationProperties注解的簡單使用的詳細(xì)內(nèi)容,更多關(guān)于SpringBoot @ConfigurationProperties注解的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Java實(shí)現(xiàn)數(shù)組轉(zhuǎn)字符串及字符串轉(zhuǎn)數(shù)組的方法分析

    Java實(shí)現(xiàn)數(shù)組轉(zhuǎn)字符串及字符串轉(zhuǎn)數(shù)組的方法分析

    這篇文章主要介紹了Java實(shí)現(xiàn)數(shù)組轉(zhuǎn)字符串及字符串轉(zhuǎn)數(shù)組的方法,結(jié)合實(shí)例形式分析了Java字符串及數(shù)組相關(guān)的分割、遍歷、追加等操作技巧,需要的朋友可以參考下
    2018-06-06
  • Java C++實(shí)現(xiàn)相同MD5加密算法的方式

    Java C++實(shí)現(xiàn)相同MD5加密算法的方式

    這篇文章主要介紹了Java與C++實(shí)現(xiàn)相同MD5加密算法的方法,需要的朋友可以參考下面文章內(nèi)容
    2021-09-09
  • Java中不定參數(shù)用法小結(jié)

    Java中不定參數(shù)用法小結(jié)

    在Java中,不定參數(shù)是指方法的參數(shù)數(shù)量可以變化的情況,本文主要介紹了Java中不定參數(shù)用法,具有一定的參考價值,感興趣的可以了解一下
    2023-12-12
  • 全面探究 Java 內(nèi)部類

    全面探究 Java 內(nèi)部類

    說起內(nèi)部類這個詞,想必很多人都不陌生,但是又會覺得不熟悉。原因是平時編寫代碼時可能用到的場景不多,用得最多的是在有事件監(jiān)聽的情況下,并且即使用到也很少去總結(jié)內(nèi)部類的用法。今天我們就來一探究竟
    2021-09-09
  • 關(guān)于Spring的統(tǒng)一功能處理(攔截器)實(shí)現(xiàn)

    關(guān)于Spring的統(tǒng)一功能處理(攔截器)實(shí)現(xiàn)

    這篇文章主要介紹了關(guān)于Spring的統(tǒng)一功能處理(攔截器)實(shí)現(xiàn),每個方法中都要單獨(dú)寫用戶登錄驗(yàn)證的方法,即使封裝成公共方法,也一樣要傳參調(diào)用和在方法中進(jìn)行判斷,需要的朋友可以參考下
    2023-05-05
  • Spring?Data?JPA?在?@Query?中使用投影的方法示例詳解

    Spring?Data?JPA?在?@Query?中使用投影的方法示例詳解

    這篇文章主要介紹了Spring?Data?JPA?在?@Query?中使用投影的方法,大家需要注意如果要在 @Query 中使用投影,必須要主動聲明要查詢的字段,并且主動寫明字段的別名才行,本文通過sql代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2022-07-07
  • SpringBoot讀取yaml文件操作詳解

    SpringBoot讀取yaml文件操作詳解

    YAML 是 “YAML Ain’t Markup Language”(YAML 不是一種標(biāo)記語言)的遞歸縮寫。在開發(fā)的這種語言時,YAML 的意思其實(shí)是:“Yet Another Markup Language”(仍是一種標(biāo)記語言),本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • SpringBoot @JsonDeserialize自定義Json序列化方式

    SpringBoot @JsonDeserialize自定義Json序列化方式

    這篇文章主要介紹了SpringBoot @JsonDeserialize自定義Json序列化方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Windows?10卸載JDK1.8超詳細(xì)圖文教程

    Windows?10卸載JDK1.8超詳細(xì)圖文教程

    這篇文章主要介紹了Windows?10卸載JDK1.8超詳細(xì)圖文教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • springboot中使用rabbitt的詳細(xì)方法

    springboot中使用rabbitt的詳細(xì)方法

    這篇文章主要介紹了springboot中使用rabbitt,通過本文學(xué)習(xí)讓我們了解如何在Spring Boot中使用RabbitMQ,并使用不同的交換機(jī)和隊(duì)列類型以及消息確認(rèn)模式,需要的朋友可以參考下
    2023-05-05

最新評論