解決Callable的對象中,用@Autowired注入別的對象失敗問題
實(shí)現(xiàn)Callable的對象中,用@Autowired注入別的對象失敗
場景是這樣:
我需要在一個(gè)實(shí)現(xiàn)類A中寫一個(gè)拿到返回值的多線程,于是用的Callable,在這個(gè)實(shí)現(xiàn)類A外我又寫了一個(gè)專門實(shí)現(xiàn)Callable的實(shí)現(xiàn)類B,在B中用spring注解@Autowired注入另外一個(gè)實(shí)現(xiàn)類C,當(dāng)代碼運(yùn)行時(shí)發(fā)現(xiàn),C怎么也不能注入進(jìn)B中,腦袋瓜疼。
目前的解決路線:
把@Autowired寫到了A類中,并且把B對象直接放到A中,作為了內(nèi)部類,這樣發(fā)現(xiàn)用C好使了,但是還不清楚為什么單獨(dú)在B中用@Autowired或者其他注入對象的方法行不通!
Spring @Autowired 注解不生效
@Autowired
默認(rèn)不生效。為了生效,需要在xml配置:<context:annotation-config>
注解一<context:component-scan base-package=" "> 開啟包掃描
注解二<context:annotation-config>開啟注入注解掃描
一般情況下,兩個(gè)注解不一起使用.
當(dāng)"注解一",掃描含有注解@Component/@Service等的類時(shí),注入注解自動生效就不需要配置注解二了
當(dāng)要掃描的類上沒有含有@Component/@Service等注解時(shí),注入注解沒有生效,那么只需要添加注解二即可
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Mybatis-plus使用TableNameHandler分表詳解(附完整示例源碼)
這篇文章主要介紹了Mybatis-plus使用TableNameHandler分表詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01Java使用Jedis操作Redis服務(wù)器的實(shí)例代碼
本篇文章主要介紹了Java使用Jedis操作Redis服務(wù)器的實(shí)例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-08-08關(guān)于springboot中nacos動態(tài)路由的配置
這篇文章主要介紹了springboot中nacos動態(tài)路由的配置方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09SpringBoot實(shí)現(xiàn)項(xiàng)目文件上傳的方法詳解
這篇文章主要為大家詳細(xì)介紹了SpringBoot中實(shí)現(xiàn)項(xiàng)目文件上傳的相關(guān)資料,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以了解一下2022-11-11