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

springboot中@Autowired 注入失效的四種原因及解決方法

這篇具有很好參考價(jià)值的文章主要介紹了springboot中@Autowired 注入失效的四種原因及解決方法。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

1. 被注入的對(duì)象沒(méi)有加載到spring容器中

通常是因?yàn)楸蛔⑷氲膶?duì)象沒(méi)有被spring掃描到,此時(shí)需要添加對(duì)應(yīng)的包掃描路徑。

添加包掃描
在啟動(dòng)類(lèi)中定義分別掃描兩個(gè)包 ,即在@SpringBootApplication注解的類(lèi)中添加:
@ComponentScan({“com.demo.test1”,“com.demo.common”})

2. 需要自動(dòng)注入的對(duì)象不是spring加載,而是new的方式創(chuàng)建

由于對(duì)象不是spring創(chuàng)建的,當(dāng)然spring也就無(wú)法根據(jù)注解自動(dòng)注入對(duì)應(yīng)的實(shí)例對(duì)象。

此時(shí)可以采用代碼的方式,從spring容器中獲取對(duì)象實(shí)例

通過(guò)Spring上下文工具類(lèi)獲取bean

    定義一個(gè)SpringUtil類(lèi)

/**
 * Spring上下文工具類(lèi),用以讓普通類(lèi)獲取Spring容器中的Bean
 */
@Component
public class SpringUtil implements ApplicationContextAware {
 
    private static ApplicationContext applicationContext = null;
    
    //獲取applicationContext
    public static ApplicationContext getApplicationContext() {
        return applicationContext;
    }
 
    @Override
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
        if (SpringUtil.applicationContext == null) {
            SpringUtil.applicationContext = applicationContext;
        }
    }
    
    //通過(guò)name獲取 Bean     
    public static Object getBean(String name) {
        return getApplicationContext().getBean(name);
    }
}

然后在類(lèi)A中通過(guò)如下調(diào)用獲取Spring容器中的實(shí)例

3. 需要自動(dòng)注入的對(duì)象不是spring加載,而是采用反射的方式創(chuàng)建

這種情況和第二種情況類(lèi)似,通常在一些框架調(diào)用的時(shí)候,采用的對(duì)象創(chuàng)建方式,為了避免對(duì)spring的依賴(lài),采用類(lèi)的反射方式進(jìn)行創(chuàng)建。

此時(shí)可以采用代碼的方式,從spring容器中獲取對(duì)象實(shí)例。
方法和第二種情況相同。

4. 使用springboot的devtools熱部署加載的類(lèi)

熱部署加載的類(lèi)使用的加載器和spring容器的加載器不同,所以熱部署加載器加載的類(lèi),訪問(wèn)不到spring容器中的對(duì)象。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-604756.html

這種情況通常發(fā)生在使用熱部署過(guò)程中,禁用熱部署后該問(wèn)題就不存在了。

到了這里,關(guān)于springboot中@Autowired 注入失效的四種原因及解決方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • SpringBoot導(dǎo)出Excel的四種方式

    SpringBoot導(dǎo)出Excel的四種方式

    ? ? ? ?近期接到了一個(gè)小需求,要將系統(tǒng)中的數(shù)據(jù)導(dǎo)出為Excel,且能將Excel數(shù)據(jù)導(dǎo)入到系統(tǒng)。對(duì)于大多數(shù)研發(fā)人員來(lái)說(shuō),這算是一個(gè)最基本的操作了。但是……我居然有點(diǎn)方! ? ? ? ? 好多年沒(méi)有實(shí)操這種基礎(chǔ)的功能了。我對(duì)于excel導(dǎo)入導(dǎo)出的印象還停留在才入行時(shí)的工作經(jīng)

    2024年02月03日
    瀏覽(26)
  • SpringBoot使用@Autowired將實(shí)現(xiàn)類(lèi)注入到List或者M(jìn)ap集合中

    SpringBoot使用@Autowired將實(shí)現(xiàn)類(lèi)注入到List或者M(jìn)ap集合中

    最近看到 RuoYi-Vue-Plus 翻譯功能 Translation 的翻譯模塊配置類(lèi) TranslationConfig ,其中有一個(gè)注入 TranslationInterface 翻譯接口實(shí)現(xiàn)類(lèi)的寫(xiě)法讓我感到很新穎,但這種寫(xiě)法在Spring 3.0版本以后就已經(jīng)支持注入 List 和 Map ,平時(shí)都沒(méi)有注意到這一塊,故此記錄一下這種寫(xiě)法。 之前一般定義

    2024年02月14日
    瀏覽(17)
  • SpringBoot項(xiàng)目啟動(dòng)后執(zhí)行指定方法的四種實(shí)現(xiàn)

    SpringBoot項(xiàng)目啟動(dòng)后執(zhí)行指定方法的四種實(shí)現(xiàn)

    今日的好天氣 距離上一次更新帖子已經(jīng)過(guò)了很久很久,久到我也不知道我在搞什么飛機(jī)。 國(guó)慶節(jié)第一天終于搬到了新家,最近量子糾纏比較火,冬天也在路上,匆匆又一年。 @PostConstruct是Java自帶的注解,在方法上加該注解會(huì)在項(xiàng)目啟動(dòng)的時(shí)候執(zhí)行該方法,也可以理解為在

    2023年04月15日
    瀏覽(18)
  • SpringBoot復(fù)習(xí):(18)@Value和@Autowired注解配置的屬性是怎么注入到bean中的?

    SpringBoot復(fù)習(xí):(18)@Value和@Autowired注解配置的屬性是怎么注入到bean中的?

    @Value java doc文檔指出,它是由 AutowiredAnnotationBeanPostProcessor 這個(gè) BeanPostProcessor 處理的。 AutowiredAnnotationBeanPostProcessor的構(gòu)造方法如下: 可見(jiàn)AutowiredAnnotationBeanPostProcessor用來(lái)處理@Autowired和@Value這兩個(gè)注解。 具體的處理流程是通過(guò)在容器對(duì)bean進(jìn)行實(shí)例化的時(shí)候應(yīng)用上述BeanPostPr

    2024年02月13日
    瀏覽(26)
  • 關(guān)于在 springboot 中使用 @Autowired 注解來(lái)對(duì) TemplateEngine 進(jìn)行自動(dòng)裝配時(shí),無(wú)法注入的問(wèn)題。

    關(guān)于在 springboot 中使用 @Autowired 注解來(lái)對(duì) TemplateEngine 進(jìn)行自動(dòng)裝配時(shí),無(wú)法注入的問(wèn)題。

    本文是基于江南一點(diǎn)雨的 Spring Boot+Vue 系列視頻教程第 三 章的第三節(jié),詳情參考Spring Boot+Vue系列視頻教程 在觀看學(xué)習(xí)這一節(jié)時(shí),發(fā)現(xiàn)當(dāng)進(jìn)行手動(dòng)渲染 Thymeleaf 模板時(shí),通過(guò) @Autowired 注解來(lái)對(duì) TemplateEngine 進(jìn)行自動(dòng)裝配時(shí),發(fā)現(xiàn) idea 對(duì)其顯示 No beans of \\\'TemplateEngine \\\' type of found。

    2024年02月02日
    瀏覽(30)
  • 詳解JS的四種異步解決方案!

    詳解JS的四種異步解決方案!

    目錄 同步異步的概念 js中異步的應(yīng)用場(chǎng)景 實(shí)現(xiàn)異步的四種方法 1、 回調(diào)函數(shù) 2、Promise 3、Generator 4、 async/await ????????「異步編程」 是前端工程師日常開(kāi)發(fā)中經(jīng)常會(huì)用到的技術(shù),也是校招面試過(guò)程中??嫉囊粋€(gè)知識(shí)點(diǎn)。 ????????通過(guò)掌握 「異步編程」 的四種方式,可

    2024年01月18日
    瀏覽(43)
  • 解決Hash(哈希表)沖突的四種方案

    解決Hash(哈希表)沖突的四種方案

    參考鳴謝 解決哈希沖突必須知道的幾種方法 小僵魚(yú) 你還應(yīng)該知道的哈希沖突解決策略 vivo互聯(lián)網(wǎng)技術(shù) 解決哈希沖突的三種方法 kaleidoscopic 每日一題(哈希表及哈希沖突解決辦法) 和笙 哈希是一種通過(guò)對(duì)數(shù)據(jù)進(jìn)行壓縮, 從而提高效率的一種解決方法 ,但由于哈希函數(shù)有限,數(shù)據(jù)

    2024年02月14日
    瀏覽(21)
  • 解決iphone卡在恢復(fù)模式的四種方法

    解決iphone卡在恢復(fù)模式的四種方法

    比如系統(tǒng)升級(jí)的時(shí)候卡在恢復(fù)模式、降級(jí)系統(tǒng)、或者是在手機(jī)越獄過(guò)程中以及一些誤操作可能手機(jī)就莫名其妙的進(jìn)入到了iPhone恢復(fù)模式。 恢復(fù)模式在平時(shí)的應(yīng)用主要是在iPhone連接電腦的時(shí)候,電腦無(wú)法識(shí)別到手機(jī),我們將iPhone調(diào)至恢復(fù)模式就能夠被電腦識(shí)別到了,之前我也分

    2024年02月10日
    瀏覽(22)
  • 已解決:IDEA中@Autowired自動(dòng)注入MyBatis Mapper報(bào)紅警告的幾種解決方法

    已解決:IDEA中@Autowired自動(dòng)注入MyBatis Mapper報(bào)紅警告的幾種解決方法

    今天在使用 IDEA 使用 MyBatis 的時(shí)候遇到了這種情況: 可以看到 userMapper 下有個(gè)紅色的波浪警告,雖然代碼沒(méi)有任何問(wèn)題,能正常運(yùn)行,但是這個(gè)紅色警告在這里杵著確實(shí)讓人很窩心。 于是我在網(wǎng)上找了找,最終明白了原因所在: 因?yàn)?IDEA 可以智能的理解上下文,然而 UserM

    2024年02月20日
    瀏覽(25)
  • 磊科路由器常見(jiàn)故障的四種解決方法

    ? 一、線路不通 1、在確保路由器電源正常的前提下首先查看寬帶接入端,路由器上的指示燈可以說(shuō)明寬帶線路接入端是否正常,觀察其燈閃亮狀態(tài),連續(xù)閃爍為正常,不亮或長(zhǎng)亮不閃爍為故障,我們可以換一根寬帶膠線代替原來(lái)的線路進(jìn)行連接。 2、如果是無(wú)線路由器,查看

    2024年02月05日
    瀏覽(18)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包