依賴(lài)注入Dagger2的學(xué)習(xí)(一)

按照慣例,先引用一些大神的解釋

為什么使用依賴(lài)注入:

首先我們需要知道 吃挑,人們?cè)诤荛L(zhǎng)時(shí)間都是利用控制反轉(zhuǎn)原則規(guī)定:應(yīng)用程序的流程取決于在程序運(yùn)行的時(shí)候?qū)ο髨D的建立. 通過(guò)抽象定義的對(duì)象交互可以實(shí)現(xiàn)這樣的動(dòng)態(tài)流程.而使用依賴(lài)注入或者服務(wù)定位器便可以完成運(yùn)行時(shí)綁定.

使用依賴(lài)注入可以帶來(lái)哪些好處
  • 依賴(lài)的注入和配置獨(dú)立于組件之外
  • 因?yàn)閷?duì)象是在一個(gè)獨(dú)立不耦合的地方初始化,所以當(dāng)注入抽象方法的時(shí)候,我們只需要修改對(duì)象的實(shí)現(xiàn)方法,而不用大改代碼庫(kù).
  • 依賴(lài)可以注入到一個(gè)組件中,我們可以注入這些依賴(lài)的模擬實(shí)現(xiàn),這樣使得測(cè)試更加簡(jiǎn)單.

上述為摘抄.............

發(fā)展歷程

Dagger1由Square公司創(chuàng)建的,Dagger2是Dagger1的分支,由Google公司接手開(kāi)發(fā).暫時(shí)知道這些就夠了,太原理的也看不懂.

Dagger2的部分注解的講解摘抄
  • @Inject:通常在需要依賴(lài)的地方使用這個(gè)注解,換句話(huà)說(shuō),你用它告訴Dagger這個(gè)類(lèi)或者字段需要依賴(lài)注入.這樣Dagger就會(huì)構(gòu)造這個(gè)類(lèi)的實(shí)例并滿(mǎn)足他們的依賴(lài).
  • @Module:Modules類(lèi)里面的方法專(zhuān)門(mén)提供依賴(lài),所以我們定義一個(gè)類(lèi),用@Module注解,這樣Dagger在構(gòu)造類(lèi)的實(shí)例的時(shí)候,就知道從哪里去找到需要的依賴(lài).Modules的一個(gè)重要特征是它們?cè)O(shè)計(jì)為分區(qū)并且組合在一起(比如說(shuō),在我們的app里面可以有多個(gè)組成在一起的modules).
  • @Provide 在modules中,我們定義的方法是這個(gè)注解,以此來(lái)告訴Dagger我們想要構(gòu)造對(duì)象并且提供這些依賴(lài).
  • @Component:Components從根本上來(lái)說(shuō)就是一個(gè)注入器,也可以說(shuō)是@Inject和@Module的橋梁,它的主要作用就是連接這兩個(gè)部分,Components可以提供所有定義了的類(lèi)型的實(shí)例.比如: 我們必須用@Component注解一個(gè)接口然后列出所有的@Modules組成該組件,如果缺失了任何一塊,都會(huì)在編譯的時(shí)候報(bào)錯(cuò),所有的組件都可以通過(guò)他的modules知道依賴(lài)的范圍.
  • @Scope: Dagger2通過(guò)Scope可以利用自定義注解限定注解作用域.簡(jiǎn)單的來(lái)說(shuō)就是自定義注解定義這個(gè)注入對(duì)象的存活時(shí)間,例如@PerActivity @PerFragment @PerUser等等
  • @Qualifier:當(dāng)類(lèi)的類(lèi)型不足以鑒別一個(gè)依賴(lài)的時(shí)候使用.例如:在Android中,我們會(huì)需要不同類(lèi)型的context,所以我們就可以定義qualifier注解@ForApplication或者@ForActivity,這樣當(dāng)注入一個(gè)context的時(shí)候,我們就可以告訴Dagger我們想要哪種類(lèi)型的context.

總結(jié):一些常用的注解類(lèi)型已經(jīng)摘抄完了,雖然我的項(xiàng)目里面一直都在用,但是這些東西我從來(lái)就沒(méi)有接觸過(guò)是為什么,項(xiàng)目的閑暇期我就決定自己做一些摘抄,里面會(huì)有通過(guò)我的學(xué)習(xí)我理解了哪些,理解不了哪些我都會(huì)分享出來(lái).好了,這一篇就暫且寫(xiě)到這里,沒(méi)有講一些實(shí)際的代碼,請(qǐng)?jiān)徫乙膊粫?huì),路漫漫其修遠(yuǎn)兮!!!最后請(qǐng)注意:我上述均為摘抄,著急的可以去百度搜Dagger2,第一個(gè)點(diǎn)進(jìn)去看!!!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末川陆,一起剝皮案震驚了整個(gè)濱河市蝎土,隨后出現(xiàn)的幾起案子妻枕,更是在濱河造成了極大的恐慌芥丧,老刑警劉巖磷脯,帶你破解...
    沈念sama閱讀 221,331評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異霞幅,居然都是意外死亡漠吻,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,372評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門(mén)司恳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)途乃,“玉大人,你說(shuō)我怎么就攤上這事扔傅∷9玻” “怎么了烫饼?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,755評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)划提。 經(jīng)常有香客問(wèn)我,道長(zhǎng)邢享,這世上最難降的妖魔是什么鹏往? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,528評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮骇塘,結(jié)果婚禮上伊履,老公的妹妹穿的比我還像新娘。我一直安慰自己款违,他們只是感情好唐瀑,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,526評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著插爹,像睡著了一般哄辣。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上赠尾,一...
    開(kāi)封第一講書(shū)人閱讀 52,166評(píng)論 1 308
  • 那天力穗,我揣著相機(jī)與錄音,去河邊找鬼气嫁。 笑死当窗,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的寸宵。 我是一名探鬼主播崖面,決...
    沈念sama閱讀 40,768評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼梯影!你這毒婦竟也來(lái)了巫员?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,664評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤甲棍,失蹤者是張志新(化名)和其女友劉穎疏遏,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體救军,經(jīng)...
    沈念sama閱讀 46,205評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡财异,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,290評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了唱遭。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片戳寸。...
    茶點(diǎn)故事閱讀 40,435評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖拷泽,靈堂內(nèi)的尸體忽然破棺而出疫鹊,到底是詐尸還是另有隱情袖瞻,我是刑警寧澤,帶...
    沈念sama閱讀 36,126評(píng)論 5 349
  • 正文 年R本政府宣布拆吆,位于F島的核電站聋迎,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏枣耀。R本人自食惡果不足惜霉晕,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,804評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望捞奕。 院中可真熱鬧牺堰,春花似錦、人聲如沸颅围。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,276評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)院促。三九已至筏养,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間常拓,已是汗流浹背撼玄。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,393評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留墩邀,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,818評(píng)論 3 376
  • 正文 我出身青樓眉睹,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親竹海。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,442評(píng)論 2 359

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