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

@Autowired注入為空指針的原因及解決過(guò)程

 更新時(shí)間:2026年05月06日 08:41:32   作者:冰川_  
文章分析了在定時(shí)任務(wù)中使用@Autowired注入配置類時(shí)出現(xiàn)空指針的原因,主要是因?yàn)槎〞r(shí)任務(wù)開(kāi)啟的新進(jìn)程中沒(méi)有注入值,以及@Autowired調(diào)用get時(shí)還未進(jìn)入其生命周期,解決方案是引入工具類同時(shí)調(diào)用方法

問(wèn)題背景

需要從yml配置文件中讀取參數(shù),寫(xiě)了一個(gè)config實(shí)體類,添加了GET,SET方法,再別的類中@Autowired注入這個(gè)配置類的時(shí)候報(bào)空指針。

問(wèn)題原因 一

1、不能在定時(shí)任務(wù)中調(diào)用別的類

2、不能new一個(gè)類。

然后注入值,因?yàn)槎〞r(shí)任務(wù)會(huì)開(kāi)啟一個(gè)新的進(jìn)程,而spring值會(huì)注入到初始的類中,但這個(gè)有值類并沒(méi)有被使用,而是調(diào)用了無(wú)值的類。

問(wèn)題原因 二

Google大神回復(fù)

翻譯人話就是:初始化順序

成員變量初始化 -> Constructor -> @Autowired

調(diào)用get時(shí)候,還沒(méi)有進(jìn)入autowired的生命周期,自然為空,獲取不到值,報(bào)空指針錯(cuò)誤。

解決方案

引入工具類

/**
 * @author yichuan@iscas.ac.cn
 * 此工具類用于從Spring的上下文中去獲取到類,解決@autowird注入空指針的問(wèn)題
 * @version 1.0
 * @date 2020/10/27 16:54
 */
@Component
public class ApplicationContextHelperUtil implements ApplicationContextAware {
    private static ApplicationContext applicationContext;
    @Override
    public void setApplicationContext( ApplicationContext applicationContext1 ) throws BeansException {
        applicationContext = applicationContext1;
    }

    public static ApplicationContext getApplicationContext(){
        return applicationContext;
    }

    @SuppressWarnings("unchecked")
    public static <T> T getBean(Class<T> clazz) {
        return (T) applicationContext.getBean(clazz);
    }
}

同時(shí)調(diào)用方法由

@Autowired
HeartbeatConfig heartbeatConfig;

改為

private static HeartbeatConfig heartbeatConfig =(HeartbeatConfig) ApplicationContextHelperUtil.getBean(HeartbeatConfig.class);

總結(jié)

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

相關(guān)文章

  • Java中的自旋鎖與適應(yīng)性自旋鎖的區(qū)別

    Java中的自旋鎖與適應(yīng)性自旋鎖的區(qū)別

    這篇文章主要介紹了Java中的自旋鎖與適應(yīng)性自旋鎖的區(qū)別,當(dāng)一個(gè)線程嘗試去獲取某一把鎖的時(shí)候,如果這個(gè)鎖此時(shí)已經(jīng)被別人獲取(占用),那么此線程就無(wú)法獲取到這把鎖,該線程將會(huì)等待,間隔一段時(shí)間后會(huì)再次嘗試獲取,需要的朋友可以參考下
    2023-10-10
  • Spring動(dòng)態(tài)添加定時(shí)任務(wù)的實(shí)現(xiàn)思路

    Spring動(dòng)態(tài)添加定時(shí)任務(wù)的實(shí)現(xiàn)思路

    這篇文章主要介紹了Spring動(dòng)態(tài)添加定時(shí)任務(wù)的實(shí)現(xiàn)思路,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-07-07
  • IDEA 包轉(zhuǎn)模塊的解決步驟

    IDEA 包轉(zhuǎn)模塊的解決步驟

    很多朋友遇到這樣一個(gè)問(wèn)題,直接在idea拉取代碼,發(fā)現(xiàn)創(chuàng)建的模塊包類型不一樣了,類似這樣的問(wèn)題該如何處理呢?很多朋友向小編求助,在這統(tǒng)一回答大家,需要的朋友參考下本文吧
    2021-06-06
  • IDEA的常見(jiàn)的設(shè)置和優(yōu)化功能圖文詳解

    IDEA的常見(jiàn)的設(shè)置和優(yōu)化功能圖文詳解

    這篇文章主要介紹了IDEA的常見(jiàn)的設(shè)置和優(yōu)化功能,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • Java構(gòu)建菜單樹(shù)的實(shí)現(xiàn)示例

    Java構(gòu)建菜單樹(shù)的實(shí)現(xiàn)示例

    本文主要介紹了Java構(gòu)建菜單樹(shù)的實(shí)現(xiàn)示例,像一級(jí)菜單,二級(jí)菜單,三級(jí)菜單甚至更多層級(jí)的菜單,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • java實(shí)現(xiàn)高效的枚舉元素集合示例

    java實(shí)現(xiàn)高效的枚舉元素集合示例

    Set是Java集合類的重要組成部分,它用來(lái)存儲(chǔ)不能重復(fù)的對(duì)象。枚舉類型也要求其枚舉元素各不相同??雌饋?lái)枚舉類型和集合是很相似的。然而枚舉類型中的元素不能隨意的增加、刪除,作為集合而言,枚舉類型非常不實(shí)用。EnumSet是專門(mén)為enum實(shí)現(xiàn)的集合類,本實(shí)例將演示其用法
    2014-03-03
  • java中如何使用泛型方法比較大小

    java中如何使用泛型方法比較大小

    這篇文章主要介紹了java中如何使用泛型方法比較大小,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • Java中BIO、NIO和AIO舉例總結(jié)

    Java中BIO、NIO和AIO舉例總結(jié)

    Java BIO、NIO、AIO是 Java 中的三種I/O模式,每種模式都有其特點(diǎn)和應(yīng)用場(chǎng)景,這篇文章主要介紹了Java中BIO、NIO和AIO的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2026-02-02
  • Nacos作為配置中心注冊(cè)監(jiān)聽(tīng)器方法

    Nacos作為配置中心注冊(cè)監(jiān)聽(tīng)器方法

    本文主要討論Nacos作為配置中心時(shí),其中配置內(nèi)容發(fā)生更改時(shí),我們的應(yīng)用程序能夠做的事。一般使用監(jiān)聽(tīng)器來(lái)實(shí)現(xiàn)這步操作,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2023-02-02
  • Java string類型轉(zhuǎn)換成map代碼實(shí)例

    Java string類型轉(zhuǎn)換成map代碼實(shí)例

    這篇文章主要介紹了Java string類型轉(zhuǎn)換成map代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03

最新評(píng)論

伊宁市| 江川县| 永修县| 大丰市| 兰州市| 互助| 霸州市| 枝江市| 沐川县| 宣威市| 双柏县| 蓬溪县| 云浮市| 山东省| 大冶市| 祁门县| 西乌珠穆沁旗| 昂仁县| 舟山市| 航空| 密山市| 庆城县| 庆云县| 沿河| 伽师县| 阳谷县| 新营市| 祁阳县| 广平县| 信宜市| 武乡县| 上饶市| 金川县| 阜新| 舒城县| 富宁县| 霍林郭勒市| 墨江| 百色市| 浮山县| 阜阳市|