亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringBoot?@Autowired注入為空的原因有哪些

發布時間:2023-03-06 16:01:07 來源:億速云 閱讀:188 作者:iii 欄目:開發技術

今天小編給大家分享一下SpringBoot @Autowired注入為空的原因有哪些的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

    @Autowired注入為空的情況解讀

    因最近在開發中遇到了使用@Autowired注解 自動裝配時,會報空指針,發現對象并沒有裝配進來,通過查詢,總結了幾種可能造成這種情況的原因。

    1.最簡單的一種情況,查看被裝配的類,也就是@Autowired注解下的類是否添加了注解交給SpringBoot托管,@service等注解,或者是直接加上@Component注解。

    2.看你的xxxxxApplication是否在根目錄,因為springboot默認掃描的就是啟動類下的目錄(這個我記著只限于Springboot2.0.5之前的版本,因為新版可以通過@ComponenScan注解去指定掃描范圍)。

    3.@Service、@Componet、@Configuration、@Repository等Spring注解未被掃描到,例如:springboot的主類掃描規則,就是說需要查看你的Springboot啟動類,xxxxxApplication,查看啟動類上注解是否加了@ComponenScan注解,是否指定了掃描范圍。

    使用springboot啟動類配置掃描的兩種注解配置方式:

    • 1、@Controller @EnableAutoConfiguration @ComponentScan 。

    • 2、@SpringBootApplication

    4.使用救急方法,這是如果沒找到原因,我們先使用其他方法讓程序先能正常運行和調試,后續再查找問題。

    @Autowired
     private SchedulerFactoryBean schedulerFactoryBean;
        
     private static QuartzManager quartzManager;
        
     /**
      * 通過@PostConstruct實現初始化bean之前進行的操作
      * @desc 初始化操作,得到QuartzManager實例
      * @Date 2019年1月7日
      */
     @PostConstruct 
     public void init() {  
          quartzManager = this;  
          quartzManager.schedulerFactoryBean = this.schedulerFactoryBean;        
    }

    使用@PostConstruct 初始化。

    5.這個原因很重要,也是經常會被忽略的一個因素。調用者是new出來的。如果類A中存在成員屬性B, B是通過@Autowired自動注入,而類A的實例是通過new的方式產生的,那么自動注入會失效的,此時通過Spring的上下文獲取所有的Bean的方法來獲取B。此時,看看你在報空指針的那個類,看它是否是被new出來的,如果是,不妨使用SpringUtil.getBean()方法替換下, 然后再試下!

    @Autowired注入bean找不到異常

    異常描述

    ***************************
    APPLICATION FAILED TO START
    ***************************

    Description:

    Field clientAuthService in com.yinhai.mzgh.eurekaclient.feign.interceptor.Oauth3RequestInterceptor 
    required a bean of type 'com.yinhai.mzgh.eurekaclient.feign.service.ClientAuthService' that could not be found.

    The injection point has the following annotations:
        - @org.springframework.beans.factory.annotation.Autowired(required=true)


    Action:

    Consider defining a bean of type 'com.yinhai.mzgh.eurekaclient.feign.service.ClientAuthService' in your configuration.

    問題原因

    這個問題是環境問題,在Profiles 中之前是dev 環境

    SpringBoot?@Autowired注入為空的原因有哪些

    以上就是“SpringBoot @Autowired注入為空的原因有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    天全县| 大姚县| 德兴市| 凌源市| 巴林左旗| 高碑店市| 义乌市| 特克斯县| 郸城县| 平泉县| 榕江县| 奈曼旗| 龙里县| 永靖县| 双峰县| 盐池县| 娄烦县| 桐庐县| 广饶县| 秦安县| 五家渠市| 乐清市| 星子县| 清远市| 梧州市| 名山县| 治县。| 上蔡县| 卓资县| 三江| 志丹县| 荥经县| 浦江县| 甘南县| 天水市| 固原市| 建始县| 峡江县| 沙河市| 滕州市| 黑水县|