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

Springboot如何通過(guò)yml配置文件為靜態(tài)成員變量賦值

 更新時(shí)間:2022年10月27日 17:18:31   作者:嗯mua.  
這篇文章主要介紹了Springboot如何通過(guò)yml配置文件為靜態(tài)成員變量賦值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

通過(guò)yml配置文件為靜態(tài)成員變量賦值

我們對(duì)springboot為普通成員變量的方式很熟悉,所以經(jīng)常定式思維的認(rèn)為靜態(tài)屬性的賦值和普通屬性一樣,結(jié)果調(diào)試的時(shí)候調(diào)試半天發(fā)現(xiàn)靜態(tài)屬性還是Null。

仔細(xì)一想才發(fā)現(xiàn)靜態(tài)屬性和普通屬性的賦值方式不太一樣。

到底是哪里不一樣呢?問(wèn)題出在set方法。我們通過(guò)idea快捷鍵或注解 @Data 得到的set方法是靜態(tài)方法。

這里我強(qiáng)調(diào)一句

  • 用idea快捷鍵或注解 @Data 得到的set方法是靜態(tài)方法
  • 用idea快捷鍵或注解 @Data 得到的set方法是靜態(tài)方法
  • 用idea快捷鍵或注解 @Data 得到的set方法是靜態(tài)方法

而springboot為屬性賦值時(shí)采用的是動(dòng)態(tài)的setter注入,所以我們按照為普通屬性賦值的方法給靜態(tài)變量賦值必然是行不通的。

所以我們只需要將圖里面的 static 給刪掉就大功告成了!!

順便再提一句,在這個(gè)類(lèi)上面需要加上 @ConfigurationProperties(prefix = "reggie.qiniu") 注解,并且在調(diào)用的地方加上 @EnableConfigurationProperties(QiniuUtils.class) 注解,括號(hào)里面的參數(shù)不可以跟我一樣哦,如果多處都需要調(diào)用的話(huà),你嫌麻煩可以直接在springboot啟動(dòng)類(lèi)上加上這個(gè)注解。

怕有的同學(xué)還是看不懂,我再貼一下我yml配置文件里面配置的寫(xiě)法。

Springboot靜態(tài)變量讀取yml配置信息

因?yàn)閟pring加載靜態(tài)方法比IOC早,所以不能直接使用@Value注解讀取yml配置,讀取結(jié)果往往是null。

解決方式1

我們可以通過(guò)@PostConstruct在服務(wù)加載Servlet的時(shí)候運(yùn)行

@Configuration
public class DemoConfig {

    //給靜態(tài)變量賦值
    @Value("${mvc.test}")
    public  int test;
    public void setTest(int test) {
        this.test = test;
    }
    
    

    public static   int TEST;
    @PostConstruct
    public  void init(){
        DemoConfig.TEST = test;
    }

}

然后在我們需要的地方調(diào)用就行了

@Component
public class MyConfig {
    public  void show(){
        System.out.println(DemoConfig.TEST);
    }
}

解決方式2

我們可以通過(guò)@AutoConfigureAfter 來(lái)在當(dāng)前類(lèi)注入到容器之前去加載相關(guān)配置類(lèi)

@Configuration
public class DemoConfig {
    public static int test;
    //給靜態(tài)變量賦值
    @Value("${mvc.test}")
    public void setTest(int test) {
        DemoConfig.test = test;
    }
}
@AutoConfigureAfter({DemoConfig.class})  //加載當(dāng)前文件之前先去加載DemoConfig文件
@Component
public class MyConfig {
    public  void show(){
        //然后在我們需要的地方調(diào)用就行了
        System.out.println(DemoConfig.test);
    }

}

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Mybatis實(shí)現(xiàn)自動(dòng)生成增刪改查代碼

    Mybatis實(shí)現(xiàn)自動(dòng)生成增刪改查代碼

    這篇文章主要為大家詳細(xì)介紹了Mybatis如何實(shí)現(xiàn)自動(dòng)生成增刪改查代碼的功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-01-01
  • IDEA中配置Python環(huán)境并運(yùn)行方式

    IDEA中配置Python環(huán)境并運(yùn)行方式

    本文介紹了在Mac和Windows平臺(tái)上安裝Python環(huán)境的方法,并詳細(xì)講解了如何在IntelliJ IDEA中安裝Python插件、創(chuàng)建Python工程和運(yùn)行Python文件,同時(shí),還提到了一些常用的Python框架,如Django、Google App Engine和SQL支持
    2025-03-03
  • Spring主配置文件(applicationContext.xml) 導(dǎo)入約束詳解

    Spring主配置文件(applicationContext.xml) 導(dǎo)入約束詳解

    在本篇文章里我們給各位整理的是關(guān)于Spring主配置文件(applicationContext.xml) 導(dǎo)入約束的相關(guān)知識(shí)點(diǎn)內(nèi)容,需要參考下。
    2019-08-08
  • Java 中Flyway的使用詳解

    Java 中Flyway的使用詳解

    這篇文章主要介紹了Java 中Flyway的使用詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • 淺談Java中static關(guān)鍵字的作用

    淺談Java中static關(guān)鍵字的作用

    這篇文章主要介紹了Java中static關(guān)鍵字的作用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • idea創(chuàng)建的idea項(xiàng)目時(shí)springframework出現(xiàn)紅色的原因和解決方法

    idea創(chuàng)建的idea項(xiàng)目時(shí)springframework出現(xiàn)紅色的原因和解決方法

    當(dāng)使用 IntelliJ IDEA 創(chuàng)建 Spring Framework 項(xiàng)目時(shí),springframework 出現(xiàn)紅色可能是因?yàn)橄嚓P(guān)的 Spring Framework 依賴(lài)沒(méi)有正確加載或項(xiàng)目的配置有問(wèn)題,本文給大家介紹了一些常見(jiàn)的原因和解決方法,需要的朋友可以參考下
    2023-09-09
  • SpringBoot中的@Value注解用法

    SpringBoot中的@Value注解用法

    這篇文章主要介紹了SpringBoot中的@Value注解用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • 基于java枚舉類(lèi)綜合應(yīng)用的說(shuō)明

    基于java枚舉類(lèi)綜合應(yīng)用的說(shuō)明

    一個(gè)枚舉類(lèi),可以看成包括它的一些子類(lèi)(枚舉)的一個(gè)類(lèi),而且枚舉類(lèi)的構(gòu)造方法只能是私有的
    2013-05-05
  • Hibernate持久化對(duì)象生命周期原理解析

    Hibernate持久化對(duì)象生命周期原理解析

    這篇文章主要介紹了Hibernate持久化對(duì)象生命周期原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Springmvc項(xiàng)目web.xml中servlet-mapping路徑映射配置注意說(shuō)明

    Springmvc項(xiàng)目web.xml中servlet-mapping路徑映射配置注意說(shuō)明

    這篇文章主要介紹了Springmvc項(xiàng)目web.xml中servlet-mapping路徑映射配置注意說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12

最新評(píng)論

常山县| 永善县| 香港| 宕昌县| 安岳县| 夏津县| 梅河口市| 文昌市| 盐山县| 凤阳县| 黄石市| 科尔| 张北县| 洛扎县| 九龙城区| 新野县| 梅州市| 布尔津县| 耿马| 商都县| 克拉玛依市| 达孜县| 峨眉山市| 鹿泉市| 叙永县| 新乡市| 清苑县| 巩留县| 都江堰市| 永安市| 东宁县| 游戏| 改则县| 响水县| 大方县| 林西县| 凌云县| 长海县| 灌南县| 蓬莱市| 兴仁县|