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

SpringBoot中注解@ConfigurationProperties與@Value的區(qū)別與使用詳解

 更新時(shí)間:2021年09月16日 10:22:53   作者:陽(yáng)光下的米雪  
本文主要介紹了SpringBoot中注解@ConfigurationProperties與@Value的區(qū)別與使用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

注解@ConfigurationProperties

該注解的作用是將配置文件中配置的每一個(gè)屬性的值,映射到這個(gè)組件中。@ConfigurationProperties :告訴springboot將本類(lèi)中的所有屬性和配置文件中相關(guān)的配置進(jìn)行綁定 prefix = “person”:配置文件中哪個(gè)下面的所有屬性進(jìn)行一一映射。簡(jiǎn)言之,也就是只有這個(gè)組件是容器中的組件;才能在容器中提供的@ConfigurationProperties功能。

注解@Value

該注解就是將配置文件中的某項(xiàng)值讀出來(lái),@Value("$(key)"),其中key的值從環(huán)境變量、配置文件中獲取值

區(qū)別

該表格展示了這兩個(gè)注解的區(qū)別,其中,松散語(yǔ)法綁定的定義如下:

松散語(yǔ)法綁定:

  • - person.firstName : 使用標(biāo)準(zhǔn)方法
  • - person.first-name : 大寫(xiě)用-
  • - person.first_name : 大寫(xiě)用_
  • - PERSON_FIRST_NAME : 推薦系統(tǒng)屬性使用這種寫(xiě)法

SpEl語(yǔ)法表示:

其中,@Value可以直接計(jì)算表達(dá)式的值,如:@Value(#{11*2})

JSR303數(shù)據(jù)校驗(yàn):

注解@ConfigurationProperties(prefix = "person")可以搭配@Validated使用

復(fù)雜類(lèi)型封裝:

支持讀入類(lèi)中的所有屬性,比如,想讀如person中的所有屬性,使用@ConfigurationProperties(prefix = "person")

# 配置person的值
person.last-name=zhangsan
person.age=18
person.birth=2017/12/12
person.boss=false
person.maps.k1=v1
person.maps.k2=14
person.lists=a,b,v
person.dog.name=二哈
person.dog.age=2

使用方法區(qū)別:

配置文件無(wú)論是yml還是properties他們都能獲取
如果說(shuō),我們只是說(shuō)在某個(gè)業(yè)務(wù)邏輯中需要獲取一下配置文件中的某項(xiàng)值,就使用@Value
如果說(shuō),我們專(zhuān)門(mén)編寫(xiě)了一個(gè)javaBean來(lái)和配置文件映射,我們就直接使用

配置文件注入值數(shù)據(jù)校驗(yàn)

注入值校驗(yàn)主要用的是@Validated注解,像代碼中private String lastName;可以使用@Email,雖然使用姓名使用郵件格式可能不太合適,此處只是為了舉例子,意思是lastName必須是郵箱格式

@Component
@ConfigurationProperties(prefix = "person")
@Validated
public class Person {
    /**
     * <bean class="Person">
     *     <property name="lastNme" value="字面量/${key}從環(huán)境變量、配置文件中獲取值/#{SpEl}">
     *
     *     </property>>
     * </bean>
     */
    //lastName必須是郵箱格式
    @Email
//    @Value("${person.last-name}")
    private String lastName;
//    @Value("#{11*2}")
    private Integer age;
//    @Value("true")
    private Boolean boss;
    private Date birth;

//    @Value("${person.maps}")
    private Map<String,Object> maps;
    private List<Object> lists;
    private Dog dog;

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public Boolean getBoss() {
        return boss;
    }

    public void setBoss(Boolean boss) {
        this.boss = boss;
    }

    public Date getBirth() {
        return birth;
    }

    public void setBirth(Date birth) {
        this.birth = birth;
    }

    public Map<String, Object> getMaps() {
        return maps;
    }

    public void setMaps(Map<String, Object> maps) {
        this.maps = maps;
    }

    public List<Object> getLists() {
        return lists;
    }

    public void setLists(List<Object> lists) {
        this.lists = lists;
    }

    public Dog getDog() {
        return dog;
    }

    public void setDog(Dog dog) {
        this.dog = dog;
    }

    @Override
    public String toString() {
        return "Person{" +
                "lastName='" + lastName + '\'' +
                ", age=" + age +
                ", boss=" + boss +
                ", birth=" + birth +
                ", maps=" + maps +
                ", lists=" + lists +
                ", dog=" + dog +
                '}';
    }
}

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

相關(guān)文章

  • Java中的包、抽象類(lèi)、接口詳解(最新整理)

    Java中的包、抽象類(lèi)、接口詳解(最新整理)

    文章介紹了Java中的包、抽象類(lèi)、接口以及實(shí)現(xiàn)多個(gè)接口的概念,包用于組織類(lèi),避免命名沖突,抽象類(lèi)用于定義不能被實(shí)例化的類(lèi),可以包含抽象方法,接口則定義了一組抽象方法,可以被類(lèi)實(shí)現(xiàn),實(shí)現(xiàn)多個(gè)接口可以實(shí)現(xiàn)類(lèi)似多繼承的效果,感興趣的朋友一起看看吧
    2025-02-02
  • 解決使用RestTemplate時(shí)報(bào)錯(cuò)RestClientException的問(wèn)題

    解決使用RestTemplate時(shí)報(bào)錯(cuò)RestClientException的問(wèn)題

    這篇文章主要介紹了解決使用RestTemplate時(shí)報(bào)錯(cuò)RestClientException的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Java PDF 添加數(shù)字簽名的實(shí)現(xiàn)方法

    Java PDF 添加數(shù)字簽名的實(shí)現(xiàn)方法

    這篇文章主要介紹了Java PDF 添加數(shù)字簽名的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Mybatis-Plus通用枚舉的使用詳解

    Mybatis-Plus通用枚舉的使用詳解

    這篇文章主要介紹了Mybatis-Plus通用枚舉的使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Java網(wǎng)絡(luò)通信中URL與HTTP編程技術(shù)詳解

    Java網(wǎng)絡(luò)通信中URL與HTTP編程技術(shù)詳解

    要想實(shí)現(xiàn)網(wǎng)絡(luò)編程,除了可以使用Socket之外,我們還可以利用URL編程或HTTP編程技術(shù),所以今天這篇文章,就給大家介紹一下URL編程和HTTP編程技術(shù),看看這兩種技術(shù)有什么特點(diǎn),文中有詳細(xì)的代碼講解,需要的朋友可以參考下
    2023-11-11
  • Java實(shí)現(xiàn)矩陣順時(shí)針旋轉(zhuǎn)90度的示例

    Java實(shí)現(xiàn)矩陣順時(shí)針旋轉(zhuǎn)90度的示例

    今天小編就為大家分享一篇Java實(shí)現(xiàn)矩陣順時(shí)針旋轉(zhuǎn)90度的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • Java Web使用簡(jiǎn)單的批處理操作(記事本+Tomcat)

    Java Web使用簡(jiǎn)單的批處理操作(記事本+Tomcat)

    這篇文章主要介紹了Java Web使用簡(jiǎn)單的批處理操作 ,需要的朋友可以參考下
    2014-10-10
  • mybatis教程之延遲加載詳解

    mybatis教程之延遲加載詳解

    本篇文章主要介紹了mybatis教程之延遲加載詳解。詳細(xì)介紹了延遲加載的意義和用法實(shí)現(xiàn),有興趣的可以了解一下
    2017-05-05
  • java短信驗(yàn)證碼獲取次數(shù)限制實(shí)例

    java短信驗(yàn)證碼獲取次數(shù)限制實(shí)例

    這篇文章主要介紹了java短信驗(yàn)證碼獲取次數(shù)限制實(shí)例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-01-01
  • 使用spring框架中的組件發(fā)送郵件功能說(shuō)明

    使用spring框架中的組件發(fā)送郵件功能說(shuō)明

    Spring使用的是基本的JavaBean來(lái)完成以前只可能由EJB完成的事情。這篇文章主要介紹了使用spring框架中的組件發(fā)送郵件,需要的朋友可以參考下
    2017-11-11

最新評(píng)論

太原市| 长子县| 河间市| 泊头市| 乌拉特前旗| 旬阳县| 扶余县| 汉沽区| 黄平县| 曲水县| 霍邱县| 广宗县| 安乡县| 嘉黎县| 遂昌县| 富宁县| 招远市| 临潭县| 高州市| 墨竹工卡县| 金昌市| 库伦旗| 肇东市| 浮梁县| 中西区| 合水县| 聊城市| 天水市| 金坛市| 嘉鱼县| 新化县| 西城区| 万年县| 峨眉山市| 黄骅市| 杭州市| 醴陵市| 陆川县| 临西县| 西和县| 巴南区|