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

解決springboot遇到autowire注入為null的問題

 更新時間:2021年03月02日 11:15:30   作者:ZERO_No1  
這篇文章主要介紹了解決springboot遇到autowire注入為null的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

這個問題困擾了很久,有些類不是controller在使用autowired注入的類顯示為空,找到網(wǎng)上的方法是在類初始化時主動注入被Autowired的類,如下圖

這樣的方法是可行的,最后引用時使用上圖中doubleTeachSendMsg.doubleTeachService.sendMsg();方法即可,但是使用起來未免太麻煩,而且也不是spring依賴注入的原則,這個出現(xiàn)原因其實就是此類是在bean加載之前被調用,或者springboot在加載時沒有識別到此類,所以注入為空,要想使此類被識別到,那么就要在啟動時被spring識別到,需要將其變?yōu)閎ean對象并被識別到。如下圖

springboot啟動會掃描configuration,正常添加信息在最下面的是new MyWebSocketHandler(),在此處使用spring的依賴注入,使spring識別到此類,這樣,添加的autowired方法就不會是null了,并且也不需要在添加 這種方式了

補充:關于springboot使用@Autowired注解向非controller類中注入bean為null的問題

這種問題一般分為2種情況

第一種情況:

如果你要在java A類中 使用@Autowired注入java B類,如果注入不了的話,通過添加以下三個關鍵的地方,可以解決該問題:

關于@PostConstruct:被@PostConstruct修飾的方法會在服務器加載Servlet的時候運行,并且只會被服務器調用一次,類似于Serclet的inti()方法。

被@PostConstruct修飾的方法會在構造函數(shù)之后,init()方法之前運行

@Component
public class A{ 
  @Autowired
  public B b;
  public static A a;
  @PostConstruct //通過@PostConstruct實現(xiàn)初始化bean之前進行的操作
  public void init() {
    a= this;
    a.b= this.b;    
  }

有三個地方需要注意一下(敲黑板!):

1.@Component

2.public static A a; 注意這個為 public 不然沒有權限

3.@PostConstruct public void init() {}

第二種情況:

你要被注入的類繼承了thread類,這樣的話你通過上面的方法來做的,仍然注入不進去,原因是因為spring的非線程安全問題,不讓你注入,注入的結果是null

解決辦法寫一個構造函數(shù)或者set和get方法把你要注入的service傳進來就好

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

相關文章

  • SpringBoot整合ELK使用教程

    SpringBoot整合ELK使用教程

    對于一個運行中的應用來說,線上排查問題是一件很頭疼的問題,不管是springboot單應用,還是springcloud微服務應用,一旦在生產(chǎn)環(huán)境出了問題,大多數(shù)人第一反應就是趕緊去看日志查問題,本文給大家介紹了SpringBoot整合ELK使用教程,需要的朋友可以參考下
    2024-11-11
  • tomcat報錯:Wrapper cannot find servlet class ...問題解決

    tomcat報錯:Wrapper cannot find servlet class ...問題解決

    這篇文章主要介紹了tomcat報錯:Wrapper cannot find servlet class ...問題解決的相關資料,需要的朋友可以參考下
    2016-11-11
  • java實現(xiàn)socket從服務器連續(xù)獲取消息的示例

    java實現(xiàn)socket從服務器連續(xù)獲取消息的示例

    這篇文章主要介紹了java實現(xiàn)socket從服務器連續(xù)獲取消息的示例,需要的朋友可以參考下
    2014-04-04
  • Spring Boot中擴展XML請求與響應的支持詳解

    Spring Boot中擴展XML請求與響應的支持詳解

    這篇文章主要給大家介紹了關于Spring Boot中擴展XML請求與響應的支持的相關資料,文中通過實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-09-09
  • HashSet和TreeSet使用方法的區(qū)別解析

    HashSet和TreeSet使用方法的區(qū)別解析

    這篇文章主要介紹了HashSet和TreeSet使用方法的區(qū)別解析,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • SpringBoot淺析安全管理之OAuth2框架

    SpringBoot淺析安全管理之OAuth2框架

    安全管理是軟件系統(tǒng)必不可少的的功能。根據(jù)經(jīng)典的“墨菲定律”——凡是可能,總會發(fā)生。如果系統(tǒng)存在安全隱患,最終必然會出現(xiàn)問題,這篇文章主要介紹了SpringBoot安全管理OAuth2框架的使用
    2022-08-08
  • SpringBoot向容器注冊bean的方法詳解

    SpringBoot向容器注冊bean的方法詳解

    這篇文章主要利用示例為大家詳細介紹了SpringBoot如何向容器注冊bean(即:將對象加入容器)的四種方法,文中的示例代碼講解詳細,需要的可以參考一下
    2022-05-05
  • Java_Spring之基于注解的 AOP 配置

    Java_Spring之基于注解的 AOP 配置

    這篇文章主要介紹了Java_Spring中基于注解的AOP配置,我們要先進行環(huán)境的搭建,在進行注解配置,感興趣的同學可以參考閱讀
    2023-04-04
  • Java解析xml的四種方法匯總

    Java解析xml的四種方法匯總

    XML在不同的語言里解析方式都是一樣的,只不過實現(xiàn)的語法不同而已。java中基本的解析方式有四種,DOM解析、sax解析、JDOM解析和DOM4J解析,下面我們就來詳細探討下這四種方式
    2016-05-05
  • Springboot打包為Docker鏡像并部署的實現(xiàn)

    Springboot打包為Docker鏡像并部署的實現(xiàn)

    這篇文章主要介紹了Springboot打包為Docker鏡像并部署的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12

最新評論

汝南县| 沂水县| 楚雄市| 兴文县| 同江市| 桑日县| 长兴县| 四会市| 峨边| 临泉县| 金乡县| 鄂伦春自治旗| 蒲城县| 朝阳区| 海林市| 玛曲县| 开原市| 乐平市| 四会市| 凤凰县| 吉安县| 芜湖县| 枞阳县| 武义县| 嘉鱼县| 长岛县| 夹江县| 镇康县| 房产| 通榆县| 鄯善县| 小金县| 都江堰市| 临邑县| 万州区| 扎兰屯市| 翼城县| 法库县| 花垣县| 桑日县| 星座|