看部落格之前請先走出這個誤區:
module和model,前者指建立依賴物件的物件,後者指的依賴的物件(也就是模型bean)
dagger2的幾個註解:
@module,提供建立依賴物件的方法。
注意:不能有兩個@provides方法返回同乙個model,否則會報以下異常:
2.@component,鏈結module和inject的物件。編譯之後會自動生成對應的dagger***component
類。component如何得到module?
通過dagger***component.***module方法設定,如果沒有設定,預設呼叫module的無參構造方
法。module
如何得到model?
1)給依賴物件的本身的建構函式加@inject註解
2)通過加了@module的module類的加了@provide註解的方法
二者可以共存。
dagger2依賴巢狀:
1.乙個component依賴另外一上component,注意書寫的格式
容易發生的異常:
Dagger2學習筆記
dagger需要注入依賴的地方,需要 inject的註解,共有三種inject方式 identifies injectable constructors,methods,and fields.constructors首先被注入,然後是method和field,父類中的method和field會先於子...
Dagger2 學習筆記
google官方mvp dagger2架構詳解 從零開始搭建android框架系列 6 參考文章 dagger2 使用詳解 1 inject 和 provide 兩種依賴生成方式區別 a.inject 用於注入可例項化的類,provides 可用於注入所有類 b.inject 可用於修飾屬性 構造器...
Dagger2原始碼分析
2.3 memberinjector注入的過程 2.4 總體的注入流程回顧 上文dagger2入門教程以乙個例項介紹了dagger2的相關元件,概念和使用的方法。本文繼續以上文的例子為基礎,對其進行原始碼分析。如下圖所示,右邊是我們申明的component和module,左邊是dagger2生成的 ...