Java框架之spring(三)—Spring IOC的注解注入

各位小伙伴

今天我們分享的是

spring IOC(控制反轉(zhuǎn))的


基于注解的注入


基于注解的注入 :就是用注解標(biāo)簽的方式來(lái)替換掉我們 xml 配置文件里面 bean 的注冊(cè)和依賴關(guān)系的描述(有不清楚的小伙伴可以去看一下我們之前文章)


我們來(lái)實(shí)踐一下

先來(lái)創(chuàng)建一個(gè)小項(xiàng)目吧!

我們就直接在原來(lái)的項(xiàng)目上進(jìn)行修改了佳励!



把 jar 包 spring-aop-4.2.1.RELEASE.jar 導(dǎo)入到我們的項(xiàng)目中袍辞,包的位置在spring-framework-4.2.1.RELEASE\libs 文件夾里面。


就是他了足丢!


加入 context 約束脯丝,雖然我們不進(jìn)行配置,但要告訴容器我們有哪些文件使用注解的方式提鸟,讓容器去掃描文件。



appliactionContext.xml 配置里面定義掃描需要用到的直接的包路徑仅淑。


后面就不用再添加別的內(nèi)容了称勋!


現(xiàn)在就在需要注解的 bean 對(duì)象前面加入注解標(biāo)識(shí)符


@Component ?所有的類上面都可以這么寫(xiě),只是不規(guī)范涯竟!



規(guī)范一點(diǎn)的寫(xiě)法是:

@Repository:這個(gè)注解主要是聲明 dao 的類組件




@Service:這個(gè)注解主要是聲明 service 服務(wù)類



@Controller:主要是聲明控制類 (springmvc/struts2 action/controller)

我們的例子中沒(méi)有這邊的代碼赡鲜,就不截圖了


上面是類的聲明空厌,下面是我們的依賴關(guān)系。


@Resource java 的注解 ,默認(rèn)是以 byName 方式注入,byName 找不到的話,再用 byType 去匹配



@Autowired spring 的注解,默認(rèn)是以 byType 注入,-如果有多個(gè)實(shí)現(xiàn)類,他再用 byName 的方式去匹配



測(cè)試結(jié)果



@Qualifier?spring的注解银酬,可以指定實(shí)現(xiàn)的方法名稱嘲更。


@Autowired @Qualifier 兩個(gè)一起 用,指定用byName的方式進(jìn)行匹配


@Scope bean的作用域




注意: 注解不需要設(shè)置 setter 方法 ,但是我們還是一般寫(xiě)上,因?yàn)楫?dāng)我們?cè)谂渲梦募锩媾渲昧?bean 的時(shí)候 ,而且通過(guò)配置文件描述了依賴關(guān)系,會(huì)有限是用配置,如果沒(méi)有setter方法,會(huì)報(bào)異常揩瞪。


Spring IOC 總結(jié)?


Spring 的IOC(控制反轉(zhuǎn))是通過(guò)依賴注入(dependency injection)來(lái)實(shí)現(xiàn)的

優(yōu)點(diǎn) :

減少了對(duì)象的創(chuàng)建和管理 ,使代碼層次更加清晰赋朦。

Spring 的IOC容器是一個(gè)輕量級(jí)的容器 ,沒(méi)有侵入性(不依賴容器的API) ,不需要實(shí)現(xiàn)一些特殊接口。

鼓勵(lì)我們面向接口編程李破。

減少了代碼的耦合,將耦合的部分推到了配置文件中 ,如果他們的關(guān)系發(fā)生了改變,只需要修改配置文件宠哄。


今天就到這里了

再見(jiàn)了

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市嗤攻,隨后出現(xiàn)的幾起案子毛嫉,更是在濱河造成了極大的恐慌,老刑警劉巖妇菱,帶你破解...
    沈念sama閱讀 211,123評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件承粤,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡闯团,警方通過(guò)查閱死者的電腦和手機(jī)密任,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)偷俭,“玉大人浪讳,你說(shuō)我怎么就攤上這事∮坑” “怎么了淹遵?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,723評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)负溪。 經(jīng)常有香客問(wèn)我透揣,道長(zhǎng),這世上最難降的妖魔是什么川抡? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,357評(píng)論 1 283
  • 正文 為了忘掉前任辐真,我火速辦了婚禮,結(jié)果婚禮上崖堤,老公的妹妹穿的比我還像新娘侍咱。我一直安慰自己,他們只是感情好密幔,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,412評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布楔脯。 她就那樣靜靜地躺著,像睡著了一般胯甩。 火紅的嫁衣襯著肌膚如雪昧廷。 梳的紋絲不亂的頭發(fā)上堪嫂,一...
    開(kāi)封第一講書(shū)人閱讀 49,760評(píng)論 1 289
  • 那天,我揣著相機(jī)與錄音木柬,去河邊找鬼皆串。 笑死,一個(gè)胖子當(dāng)著我的面吹牛眉枕,可吹牛的內(nèi)容都是我干的愚战。 我是一名探鬼主播,決...
    沈念sama閱讀 38,904評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼齐遵,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼寂玲!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起梗摇,我...
    開(kāi)封第一講書(shū)人閱讀 37,672評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤拓哟,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后伶授,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體断序,經(jīng)...
    沈念sama閱讀 44,118評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,456評(píng)論 2 325
  • 正文 我和宋清朗相戀三年糜烹,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了违诗。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,599評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡疮蹦,死狀恐怖诸迟,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情愕乎,我是刑警寧澤阵苇,帶...
    沈念sama閱讀 34,264評(píng)論 4 328
  • 正文 年R本政府宣布,位于F島的核電站感论,受9級(jí)特大地震影響绅项,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜比肄,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,857評(píng)論 3 312
  • 文/蒙蒙 一快耿、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧芳绩,春花似錦掀亥、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,731評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至垛膝,卻和暖如春鳍侣,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背吼拥。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,956評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工倚聚, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人凿可。 一個(gè)月前我還...
    沈念sama閱讀 46,286評(píng)論 2 360
  • 正文 我出身青樓惑折,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親枯跑。 傳聞我的和親對(duì)象是個(gè)殘疾皇子惨驶,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,465評(píng)論 2 348

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

  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,773評(píng)論 6 342
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)敛助,斷路器粗卜,智...
    卡卡羅2017閱讀 134,628評(píng)論 18 139
  • 來(lái)源:關(guān)于Spring IOC (DI-依賴注入)你需要知道的一切作者:zejian Dao層(AccountDa...
    楊井閱讀 5,328評(píng)論 0 27
  • 文章作者:Tyan博客:noahsnail.com 3.4 Dependencies A typical ente...
    SnailTyan閱讀 4,133評(píng)論 2 7
  • 曾經(jīng)過(guò)往的輝煌,還要留戀纳击,曾經(jīng)遺失的微笑续扔,還要繼續(xù)。我們藏在難以釋?xiě)训那啻罕澈蠡朗乜奁? 花開(kāi)的一瞬纱昧,我凝視...
    盧舒玲閱讀 192評(píng)論 1 1