[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(作用域)
范圍