国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

spring管理的bean在靜態(tài)方法使用技巧——@PostConstruct

這篇具有很好參考價值的文章主要介紹了spring管理的bean在靜態(tài)方法使用技巧——@PostConstruct。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

問題:

????????如果我們使用正常的 @Component 注解將一個類交由spring管理,然后在使用的時候用@Resource注入對象,在沒有碰到靜態(tài)方法的時候,是不會出現(xiàn)問題,但是如果出現(xiàn)了靜態(tài)方法,這樣的使用方法就會出現(xiàn)空指針的異常,也就是你@Resource注入的對象是空


原因:

????????一個方法或者變量被?static?修飾,則說明改方法或者變量就成為了類方法或者變量,隨著類的加載而加載,會被當(dāng)前類下的所有對象所共有。而@Resource的作用,就是去springbean工廠中去匹配一個對象,并且完成對象的注入,這屬于對象級別的,在此時,類的所有靜態(tài)屬性已經(jīng)被加載完成

????????問題產(chǎn)生的原因就是類加載的先后順序導(dǎo)致的,靜態(tài)屬性會在程序第一次啟動的時候,就完成加載,并且之后不會再有變動,但是使用@Resource注解,則是每次都去spring容器去獲取bean,在靜態(tài)變量初始化的后面,所有就會導(dǎo)致@Resource出現(xiàn)空的情況


解決方案:

? ? ? ? 這里我們要學(xué)習(xí)一個注解 @PostConstruct

????????在Spring Boot項目中,@PostConstruct注解用于標(biāo)記一個方法,該方法在類實例化后被調(diào)用,在依賴注入完成之后執(zhí)行。它的作用是在對象創(chuàng)建后執(zhí)行一些初始化操作

????????具體來說,@PostConstruct注解通常與依賴注入結(jié)合使用,用于在注入依賴之后執(zhí)行一些必要的初始化任務(wù)。當(dāng)Spring容器實例化一個帶有@PostConstruct注解的Bean時,它會在所有依賴注入完成之后調(diào)用被注解的方法。

因此,如果我們想要在靜態(tài)方法中使用一個?spring管理的bean,如下:

@Component
public class FileUpload {
    
    @Resource
    private  CommonConfig commonConfig;

    private static FileUpload fileUpload;

    @PostConstruct
    public void init(){
        fileUploadUtil = this;
        fileUploadUtil.commonConfig= commonConfig;
    }

    public static void testSpring(){
        fileUploadUtil.commonConfig.xxxx ;     // 調(diào)用commonConfig
    }
}

????這段代碼的作用是將CommonConfig對象注入到FileUploadUtil類中,并在初始化過程中將其賦值給靜態(tài)變量fileUploadUtil,以便在其他地方可以通過靜態(tài)變量訪問FileUploadUtil對象和commonConfig屬性。文章來源地址http://www.zghlxwxcb.cn/news/detail-688668.html

到了這里,關(guān)于spring管理的bean在靜態(tài)方法使用技巧——@PostConstruct的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • C#析構(gòu)函數(shù)解析:資源管理的精要和使用技巧

    C#析構(gòu)函數(shù)解析:資源管理的精要和使用技巧

    ? 在C#中,析構(gòu)函數(shù)(Destructor)是一個特殊的方法,用于清理對象占用的資源。它是由垃圾回收器在對象被銷毀時自動調(diào)用的。析構(gòu)函數(shù)的原理是在對象即將被回收時執(zhí)行一些清理操作,例如釋放非托管資源或執(zhí)行一些對象銷毀前的必要操作。 調(diào)用時機(jī): ?當(dāng)對象被垃圾回收

    2024年01月24日
    瀏覽(15)
  • SpringBoot開發(fā)小技巧使用(DEBUG、啟動圖標(biāo)修改、Lombok、devtools、Spring Initializr)

    SpringBoot開發(fā)小技巧使用(DEBUG、啟動圖標(biāo)修改、Lombok、devtools、Spring Initializr)

    在resources/application.properties中添加如下,開啟DEBUG功能: 然后啟動springboot應(yīng)用,就可以看到DEBUG的日志。Positive表示生效,Negative表示不生效。如下所示: 下載百度的logo到resouces目錄下,然后在resources/application.properties添加如下內(nèi)容: 最后啟動springboot應(yīng)用。打印的日志如下,

    2024年02月15日
    瀏覽(17)
  • 【pandas使用技巧】pandas中空值的處理方法

    在pandas中,可以使用fillna()方法對DataFrame中的空值進(jìn)行處理。fillna()方法可以接受一個參數(shù),用于指定如何填充空值。以下是一些常用的填充方式: 使用固定值填充:fillna(value) 使用前一個非空值填充:fillna(method=‘ffill’) 使用后一個非空值填充:fillna(method=‘bfill’) 使用平均

    2024年02月15日
    瀏覽(20)
  • 【正點原子STM32】KEIL MDK5使用技巧(文本美化、代碼編輯、查找&替換技巧、工程編譯問題定位、窗口視圖管理)

    【正點原子STM32】KEIL MDK5使用技巧(文本美化、代碼編輯、查找&替換技巧、工程編譯問題定位、窗口視圖管理)

    一、文本美化 1.1、編輯器設(shè)置 1.2、字體和顏色設(shè)置 1.3、用戶設(shè)置 1.4、代碼提示語法檢測 1.5、global.prop文件妙用 二、代碼編輯技巧 2.1、Tab鍵的妙用 2.2、快速定位函數(shù)或變量被定義的地方 2.3、快速注釋快速取消注釋 三、查找替換技巧 3.1、快速打開頭文件 3.2、查找功

    2024年01月23日
    瀏覽(177)
  • 從入門到精通:掌握Spring IOC/DI配置管理第三方bean的技巧

    從入門到精通:掌握Spring IOC/DI配置管理第三方bean的技巧

    以后我們會用到很多第三方的bean,我們以數(shù)據(jù)源是 Druid(德魯伊) 和 C3P0 來配置舉個例子。 1.1.1 環(huán)境準(zhǔn)備 先來準(zhǔn)備下案例環(huán)境: 1.1.2 思路分析 需求:使用Spring的IOC容器來管理Druid連接池對象 1.使用第三方的技術(shù),需要在pom.xml添加依賴 2.在配置文件中將【第三方的類】制作成一個

    2024年02月02日
    瀏覽(23)
  • PyInstaller詳細(xì)攻略:安裝、使用方法及經(jīng)驗技巧

    PyInstaller詳細(xì)攻略:安裝、使用方法及經(jīng)驗技巧 PyInstaller是一款優(yōu)秀的Python打包工具,可以將Python程序打包成單個可執(zhí)行文件,方便程序在其他環(huán)境中運行。本篇文章將介紹PyInstaller的安裝、使用方法及如何去除cmd黑框、隱藏導(dǎo)入的模塊等經(jīng)驗技巧。 一、安裝PyInstaller PyInsta

    2024年02月06日
    瀏覽(32)
  • 深入解析 Axios Blob 的使用方法及技巧

    深入解析 Axios Blob 的使用方法及技巧

    在 Web 開發(fā)中,處理文件傳輸是一個常見的需求。Blob(二進(jìn)制對象)是一種表示二進(jìn)制數(shù)據(jù)的方式,常用于處理文件和多媒體數(shù)據(jù)。本文將介紹如何使用? Axios ?和 Blob 來處理文件傳輸。 在開始之前,讓我們先了解一下 Axios 和 Blob 的基本概念。 Axios :Axios 是一個基于 Promis

    2024年02月12日
    瀏覽(30)
  • 飛魚星路由器的使用方法與技巧簡介

    ? 一、Reset鍵 1、就像電腦系統(tǒng)的一鍵還原一樣,路由器上的Reset鍵也能幫助我們解決很多問題當(dāng)路由器的基本設(shè)置出現(xiàn)混亂,甚至進(jìn)入配置界面的IP地址都找不到時,這時我們可以用Reset持續(xù)按住該按鈕幾秒鐘,就能將該設(shè)備的所有參數(shù)恢復(fù)到出廠配置,以便我們重新配置。

    2024年02月05日
    瀏覽(30)
  • AI智能化辦公:ChatGPT使用方法與技巧

    AI智能化辦公:ChatGPT使用方法與技巧

    隨著人工智能技術(shù)的不斷發(fā)展,AI助手在辦公場景中扮演著越來越重要的角色。其中,ChatGPT作為一款強(qiáng)大的自然語言處理模型,為用戶提供了高效的辦公輔助功能。本文將介紹ChatGPT的使用方法與一些技巧,幫助讀者更好地利用這一工具提高工作效率。 ChatGPT是由OpenAI公司開發(fā)

    2024年02月04日
    瀏覽(27)
  • 微軟筆記軟件onenote使用方法和技巧(不定期新增)

    微軟筆記軟件onenote使用方法和技巧(不定期新增)

    不知道有多少人喜歡用電子筆記,反正我除了公式有時候會在紙上寫,其他的筆記都用電子版。畢竟用紙筆記錄的筆記,沒法隨時隨地查看與修改,也沒法任意新增,有時候要跟別人討論,帶一個pad肯定比帶幾個筆記本要舒服。 云同步、多設(shè)備、搜索、OCR 這些功能,讓電子

    2024年02月07日
    瀏覽(32)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包