最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot?@Value與@ConfigurationProperties二者有哪些區(qū)別

 更新時間:2022年10月26日 14:20:05   作者:沫洺  
這篇文章主要介紹了SpringBoot?@Value與@ConfigurationProperties二者的區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧

@Value 和 @ConfigurationProperties 注解都能讀取配置文件中的屬性值并綁定到 JavaBean 中,但兩者存在以下不同。

區(qū)別@ConfigurationProperties@Value
使用位置不同標注在 JavaBean 的類名上標注在 JavaBean 的屬性上
功能不同用于批量綁定配置文件中的配置單值綁定
松散綁定(松散語法)支持部分支持
Spel不支持支持
復(fù)雜類型封裝支持支持,比較繁瑣
JSR303數(shù)據(jù)校驗支持不支持
應(yīng)用場景不同通過JavaBean獲取整個配置文件單個屬性值

說明

使用位置不同

  • @ConfigurationProperties:標注在 JavaBean 的類名上;
  • @Value:標注在 JavaBean 的屬性上。
@Component
@Data
@ConfigurationProperties(prefix = "person")
@PropertySource("classpath:person.properties")
public class Person {
    private String firstName;
}
@Component
@Data
@PropertySource("classpath:user.properties")
public class User {
    @Value("${user.username}")
    private String username;
}

功能不同

  • @ConfigurationProperties:用于批量綁定配置文件中的配置;
  • @Value:只能一個一個的指定需要綁定的配置。

松散綁定支持不同

@ConfigurationProperties:支持松散綁定(松散語法),例如實體類 Person 中有一個屬性為 firstName,那么配置文件中的屬性名支持以下寫法:

  • person.firstName
  • person.first-name
  • person.first_name
  • PERSON.FIRST_NAME

@Vaule:不支持松散綁定。

SpEL 支持不同

SpEL表達式:#{obj}

  • @ConfigurationProperties:不支持 SpEL 表達式;
  • @Value:支持 SpEL 表達式。
@Value("#{${girl.hobbyMap}}")
private Map<String,Object> hobbyMap;

復(fù)雜類型封裝

  • @ConfigurationProperties:支持所有類型數(shù)據(jù)的封裝,例如 Map、List、Set、以及對象等;
  • @Value:支持基本數(shù)據(jù)類型的封裝,例如字符串、布爾值、整數(shù)等類型, 對集合Map list set配置有要求

屬性校驗

  • @Value不支持屬性校驗
  • @ConfigurationProperties 支持屬性校驗
@Configuration
@ConfigurationProperties(prefix = "boy")
@Data
@PropertySource("classpath:boy.properties")
@Validated
public class Boy {
    @NotNull//不為空
    private String name;
    @Min(20)//不小于20
    private int age;
}

應(yīng)用場景不同

@Value 和 @ConfigurationProperties 兩個注解之間,并沒有明顯的優(yōu)劣之分,它們只是適合的應(yīng)用場景不同而已。

  • 若只是獲取配置文件中的某項值,則推薦使用 @Value 注解;
  • 若專門編寫了一個 JavaBean 來和配置文件進行映射,則建議使用 @ConfigurationProperties 注解。

在選用時,根據(jù)實際應(yīng)用場景選擇合適的注解能達到事半功倍的效果。

到此這篇關(guān)于SpringBoot @Value與@ConfigurationProperties二者有哪些區(qū)別的文章就介紹到這了,更多相關(guān)SpringBoot @Value與@ConfigurationProperties內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 簡單了解java集合框架LinkedList使用方法

    簡單了解java集合框架LinkedList使用方法

    這篇文章主要介紹了簡單了解java集合框架LinkedList使用方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08
  • java定時任務(wù)的實現(xiàn)方式

    java定時任務(wù)的實現(xiàn)方式

    這篇文章主要介紹了java定時任務(wù)的實現(xiàn)方式,在應(yīng)用里經(jīng)常都有用到在后臺跑定時任務(wù)的需求,如何進行java定時任務(wù),本文為大家進行講解,感興趣的小伙伴們可以參考一下
    2016-02-02
  • Java實現(xiàn)的質(zhì)因數(shù)分解操作示例【基于遞歸算法】

    Java實現(xiàn)的質(zhì)因數(shù)分解操作示例【基于遞歸算法】

    這篇文章主要介紹了Java實現(xiàn)的質(zhì)因數(shù)分解操作,結(jié)合實例形式較為詳細的分析了Java基于遞歸算法實現(xiàn)針對整數(shù)的質(zhì)因數(shù)分解相關(guān)操作技巧,需要的朋友可以參考下
    2018-03-03
  • Java設(shè)置String字符串編碼方法詳解

    Java設(shè)置String字符串編碼方法詳解

    因為String字符串很常用,所以我們在使用它的過程中,可能會面臨各種問題,比如”中文亂碼“問題等,那么為什么中文會亂碼?本文將給大家介紹一下Java如何設(shè)置String字符串編碼,來避免和解決這一常見問題,需要的朋友可以參考下
    2023-05-05
  • SpringBoot實現(xiàn)配置文件的替換

    SpringBoot實現(xiàn)配置文件的替換

    這篇文章主要介紹了SpringBoot實現(xiàn)配置文件的替換,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Java安全-ClassLoader

    Java安全-ClassLoader

    這篇文章主要介紹了Java安全ClassLoader,Java類初始化的時候會調(diào)用java.lang.ClassLoader加載字節(jié)碼,ClassLoader就是用來動態(tài)加載class文件到內(nèi)存當中用的,下面詳細內(nèi)容,需要的小伙伴可以參考一下
    2022-01-01
  • springboot開啟mybatis二級緩存的步驟詳解

    springboot開啟mybatis二級緩存的步驟詳解

    這篇文章給大家介紹了springboot開啟mybatis二級緩存的詳細步驟,文中通過代碼示例給大家講解的非常詳細,對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-02-02
  • Java動態(tài)規(guī)劃之硬幣找零問題實現(xiàn)代碼

    Java動態(tài)規(guī)劃之硬幣找零問題實現(xiàn)代碼

    這篇文章主要介紹了Java動態(tài)規(guī)劃之硬幣找零問題實現(xiàn)代碼,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • springboot整合easy-es實現(xiàn)數(shù)據(jù)的增刪改查的示例代碼

    springboot整合easy-es實現(xiàn)數(shù)據(jù)的增刪改查的示例代碼

    Easy-Es是一款基于ElasticSearch官方提供的RestHighLevelClient打造的低碼開發(fā)框架,本文主要介紹了springboot整合easy-es實現(xiàn)數(shù)據(jù)的增刪改查的示例代碼,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • Java實現(xiàn)批量導(dǎo)入excel表格數(shù)據(jù)到數(shù)據(jù)庫中的方法

    Java實現(xiàn)批量導(dǎo)入excel表格數(shù)據(jù)到數(shù)據(jù)庫中的方法

    這篇文章主要介紹了Java實現(xiàn)批量導(dǎo)入excel表格數(shù)據(jù)到數(shù)據(jù)庫中的方法,結(jié)合實例形式詳細分析了java導(dǎo)入Excel數(shù)據(jù)到數(shù)據(jù)庫的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下
    2017-10-10

最新評論

宝丰县| 华安县| 同江市| 鸡东县| 新宾| 清涧县| 闻喜县| 滁州市| 宜城市| 四平市| 鄂托克旗| 扎赉特旗| 谷城县| 中江县| 常德市| 洪雅县| 项城市| 宁陕县| 康定县| 台前县| 龙口市| 襄樊市| 平谷区| 晋州市| 清镇市| 梨树县| 泸定县| 赤峰市| 文成县| 微博| 从化市| 兴山县| 阿荣旗| 常熟市| 灵川县| 合阳县| 田东县| 牡丹江市| 永川市| 横山县| 台南市|