一篇不錯的Dagger2文章

[Dagger2學(xué)習(xí)入門]https://segmentfault.com/a/1190000008677663#articleHeader9

一、@Inject
主要是用來標(biāo)注目標(biāo)類的依賴和依賴的構(gòu)造函數(shù)。
二、@Provides
Module和Provides是為解決接口、第三方類庫等沒有構(gòu)造方法情景而生的。
@Provides 是module類對外提供實例方法的注解,必須在 @Moudle 內(nèi)部。
@Provides 修飾的方法的方法名建議以 provide 開頭。
三、@Module
@Module 一般用來標(biāo)記類,該注解告知 Dagger2 可以到該類中尋找需要的依賴。Module其實是一個簡單工廠模式,Module里面的方法基本都是創(chuàng)建類實例的方法。
四、@Component
Component它是一個橋梁,一端是目標(biāo)類,另一端是目標(biāo)類所依賴類的實例,它也是注入器(Injector)負(fù)責(zé)把目標(biāo)類所依賴類的實例注入到目標(biāo)類中,同時它也管理Module。
Component 可以組合不同的 Module 和 Component。
五、@Subcomponent
@Subcomponent 功能類似 component 的 dependencies。但是使用 @Subcomponent 不需要在父 component 中顯式添加子 component 需要用到的對象,只需要添加返回子 Component 的方法即可,子 Component 能自動在父 Component 中查找缺失的依賴。
六、@Qualifier
用于標(biāo)識、區(qū)分。
七、@Scope(作用域)
范圍

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容