欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關(guān)于@Component注解下的類無法@Autowired問題

 更新時間:2022年03月23日 15:17:34   作者:巴斯光甜  
這篇文章主要介紹了關(guān)于@Component注解下的類無法@Autowired問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

@Component注解下類無法@Autowired

這個問題心累

在把我的一個非Web程序遷移從Spring遷移到SpringBoot時,出現(xiàn)了在@Component注解下@Autowired的類為null的情況,也就是沒注入成功,或者說是此類在bean加載之前就被調(diào)用了。

試了各種辦法,修改掃描包,修改@Component注解等等,皆未成功,后來看到了一個方法,探究了一下。

@Component
public class ComponentClass {
? ? @Autowired
? ? private JedisClient jedisClient;
? ? public static ComponentClass componentClass;
? ? @PostConstruct
? ? public void init(){
? ? ? ? componentClass = this;
? ? ? ? componentClass.jedisClient = this.jedisClient;
? ? }
}
  • 聲明一個此類的靜態(tài)變量,用以保存bean。
  • 使用@PostConstruct注解,將需要注入的類添加到靜態(tài)變量中。
  • 接下來,使用這個靜態(tài)變量來調(diào)用注入類就行了。

@PostConstruct這個注解的具體作用就是:

注解在方法上,表示此方法是在Spring實例化該bean之后馬上執(zhí)行此方法,之后才會去實例化其他bean。

這樣在Spring實例化ComponentClass之后,馬上執(zhí)行此方法,初始化ComponentClass靜態(tài)對象和成員變量jedisClient。

@Component注解下@Autowired報錯

這是由于 Springboot Bean 的加載機制所導(dǎo)致的,具體大家可以去研究源碼。

下面是我的解決方案

僅供參考

@Component
public class XxxConfig {
	// 1
    public static XxxConfig xxxConfig ;
    @Resource
    private RedisUtil redisUtil;
	// 2
    @PostConstruct
    public void init() {
        xxxConfig = this;
        xxxConfig.redisUtil = this.redisUtil;
    }
    
    public boolean test() {
    	// 3.使用 jwtConfig.redisUtil 形式調(diào)用
        return xxxConfig.redisUtil.set("abcd", "123456", 3600);
    }    
}

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

相關(guān)文章

  • 詳解Java 信號量Semaphore

    詳解Java 信號量Semaphore

    這篇文章主要介紹了Java 信號量Semaphore的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)Java并發(fā),感興趣的朋友可以了解下
    2020-09-09
  • jvm垃圾回收GC調(diào)優(yōu)基礎(chǔ)原理分析

    jvm垃圾回收GC調(diào)優(yōu)基礎(chǔ)原理分析

    談到調(diào)優(yōu),這一定是針對特定場景、特定目的的事情, 對于 GC 調(diào)優(yōu)來說,首先就需要清楚調(diào)優(yōu)的目標是什么?從性能的角度看,通常關(guān)注三個方面,內(nèi)存占用(footprint)、延時(latency)和吞吐量(throughput)
    2022-01-01
  • 基于spring同名bean覆蓋問題的解決

    基于spring同名bean覆蓋問題的解決

    這篇文章主要介紹了spring同名bean覆蓋問題的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • IDEA:Git stash 暫存分支修改的實現(xiàn)代碼

    IDEA:Git stash 暫存分支修改的實現(xiàn)代碼

    這篇文章主要介紹了IDEA:Git stash 暫存分支修改的實現(xiàn)代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • SpringMVC中Invalid bound statement (not found)常見報錯問題解決

    SpringMVC中Invalid bound statement (not f

    本文主要介紹了SpringMVC中Invalid bound statement (not found)常見報錯問題解決,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • Java 實戰(zhàn)項目錘煉之IT設(shè)備固定資產(chǎn)管理系統(tǒng)的實現(xiàn)流程

    Java 實戰(zhàn)項目錘煉之IT設(shè)備固定資產(chǎn)管理系統(tǒng)的實現(xiàn)流程

    讀萬卷書不如行萬里路,只學(xué)書上的理論是遠遠不夠的,只有在實戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用Java+SSM+jsp+mysql+maven實現(xiàn)一個IT設(shè)備固定資產(chǎn)管理系統(tǒng),大家可以在過程中查缺補漏,提升水平
    2021-11-11
  • Java中計算集合中元素的出現(xiàn)次數(shù)統(tǒng)計

    Java中計算集合中元素的出現(xiàn)次數(shù)統(tǒng)計

    本文主要介紹了Java中計算集合中元素的出現(xiàn)次數(shù)統(tǒng)計,使用Collections類配合HashMap來統(tǒng)計和java lamb 計算這兩種方式,具有一定的參考價值,感興趣可以了解一下
    2024-02-02
  • Spring中的@ConditionalOnProperty作用和用法詳解

    Spring中的@ConditionalOnProperty作用和用法詳解

    這篇文章主要介紹了Spring中的@ConditionalOnProperty作用和用法詳解,在spring boot中有時候需要控制配置類是否生效,可以使用@ConditionalOnProperty注解來控制@Configuration是否生效,需要的朋友可以參考下
    2023-11-11
  • 分享Spring?Cloud?OpenFeign?的五個優(yōu)化技巧

    分享Spring?Cloud?OpenFeign?的五個優(yōu)化技巧

    這篇文章主要分享的是Spring?Cloud?OpenFeign?的五個優(yōu)化技巧,OpenFeign?是?Spring?官方推出的一種聲明式服務(wù)調(diào)用和負載均衡組件,更多相關(guān)內(nèi)容需要的小伙伴可以參考一下
    2022-05-05
  • Springboot實現(xiàn)多服務(wù)器session共享

    Springboot實現(xiàn)多服務(wù)器session共享

    這篇文章主要為大家詳細介紹了Springboot實現(xiàn)多服務(wù)器session共享,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05

最新評論