Spring注入失敗

盡管書(shū)看了厚厚一本万栅,但實(shí)際用起來(lái)未斑,還是經(jīng)常會(huì)碰到一些問(wèn)題。
再次一一進(jìn)行記錄霹肝。


Spring本質(zhì)是一個(gè)容器的管理工具估蹄,所以你如果將要依賴(lài)它的注入功能。你就不能去手動(dòng)new一個(gè)對(duì)象沫换。

例子:

B是一個(gè)bean
class A{
@Autowired
B b;
}
這時(shí)最铁,c想用注入了B的A讯赏,則A也要在C中依靠Spring進(jìn)行注入
把A也設(shè)置成一個(gè)bean
class C{
@Autowired
A a;
}
而不能去new一個(gè)A冷尉,如果是自己new的漱挎,Spring無(wú)法將B注入到A中

很多時(shí)候,我們的job都會(huì)通過(guò)new job的方式進(jìn)行使用雀哨,但如果job中有依賴(lài)自動(dòng)注入磕谅,如何解決呢?
參考文檔:
單例注入到多例是一個(gè)自然的方式雾棺,但多例如何注冊(cè)到單例呢膊夹?注入的過(guò)程是在單例的實(shí)例化過(guò)程中的, 且只有一次
Spring官方文檔給出的是 Method Injection的方式捌浩,例子中的commod放刨,你可以根據(jù)個(gè)人需求,設(shè)置為prototype形式

public class CommandManager implements ApplicationContextAware {

    private ApplicationContext applicationContext;

    public Object process(Map commandState) {
        // grab a new instance of the appropriate Command
        Command command = createCommand();
        // set the state on the (hopefully brand new) Command instance
        command.setState(commandState);
        return command.execute();
    }

    protected Command createCommand() {
        // notice the Spring API dependency!
        return this.applicationContext.getBean("command", Command.class);
    }

    public void setApplicationContext(
            ApplicationContext applicationContext) throws BeansException {
        this.applicationContext = applicationContext;
    }
}

自動(dòng)注入時(shí)的父類(lèi)和子類(lèi)

實(shí)際碰到的問(wèn)題尸饺,代碼需要用到spring-data 里的RedisTemplate和StringRedisTemplate进统,使用@autowired助币,發(fā)現(xiàn)注入的無(wú)法實(shí)現(xiàn)。
1.@autowired 默認(rèn)注入是 通過(guò)類(lèi)型注入的螟碎,如果要通過(guò)beanID注入眉菱,則需要結(jié)合@Qualifier一起使用。
2.stringRedisTemplate是redisTemplate的子類(lèi)掉分,所以注入會(huì)發(fā)生問(wèn)題倍谜,通過(guò)@Qualifier使用Id注入可解決問(wèn)題


用spring管理的實(shí)例對(duì)象必須包含一個(gè)無(wú)參的構(gòu)造參數(shù)

這個(gè)是改造一些他人不用Spring管理的框架中遇到的,用spring管理的實(shí)例對(duì)象必須包含一個(gè)無(wú)參的構(gòu)造參數(shù)叉抡,否則會(huì)報(bào)錯(cuò)


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末尔崔,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子褥民,更是在濱河造成了極大的恐慌季春,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件消返,死亡現(xiàn)場(chǎng)離奇詭異载弄,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)撵颊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)宇攻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人倡勇,你說(shuō)我怎么就攤上這事逞刷。” “怎么了妻熊?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵夸浅,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我扔役,道長(zhǎng)帆喇,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任亿胸,我火速辦了婚禮坯钦,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘侈玄。我一直安慰自己婉刀,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布拗馒。 她就那樣靜靜地躺著路星,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上洋丐,一...
    開(kāi)封第一講書(shū)人閱讀 52,441評(píng)論 1 310
  • 那天呈昔,我揣著相機(jī)與錄音,去河邊找鬼友绝。 笑死堤尾,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的迁客。 我是一名探鬼主播郭宝,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼掷漱!你這毒婦竟也來(lái)了粘室?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤卜范,失蹤者是張志新(化名)和其女友劉穎衔统,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體海雪,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡锦爵,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了奥裸。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片险掀。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖湾宙,靈堂內(nèi)的尸體忽然破棺而出樟氢,到底是詐尸還是另有隱情,我是刑警寧澤创倔,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布嗡害,位于F島的核電站,受9級(jí)特大地震影響畦攘,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜十电,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一知押、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧鹃骂,春花似錦台盯、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春蒿叠,著一層夾襖步出監(jiān)牢的瞬間明垢,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工市咽, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留痊银,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓施绎,卻偏偏與公主長(zhǎng)得像溯革,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子谷醉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理致稀,服務(wù)發(fā)現(xiàn),斷路器俱尼,智...
    卡卡羅2017閱讀 134,704評(píng)論 18 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,859評(píng)論 6 342
  • 文章作者:Tyan博客:noahsnail.com | CSDN | 簡(jiǎn)書(shū) 3.9 Annotation-base...
    SnailTyan閱讀 1,173評(píng)論 0 3
  • 轉(zhuǎn)載鏈接 使用Spring2.5的新特性--Autowired可以實(shí)現(xiàn)快速的自動(dòng)注入抖单,而無(wú)需在xml文檔里面添加b...
    于謙大爺閱讀 647評(píng)論 0 4
  • 這個(gè)圖,就是我的人生号显,當(dāng)然臭猜,圖比較草率,我們先不說(shuō)這押蚤,這個(gè)草圖就是我的人生900個(gè)月蔑歌。 我剩下的就是我中間白色的部...
    Python面面觀閱讀 498評(píng)論 0 2