Dagger2 注解 初识

看博客之前请先走出这个误区:

    module和model,前者指创建依赖对象的对象,后者指的依赖的对象(也就是模型bean)


Dagger2的几个注解:

  1. @Module,提供创建依赖对象的方法。

    注意:不能有两个@Provides方法返回同一个Model,否则会报以下异常:

    Dagger2 注解 初识

  [email protected],链接Module和inject的对象。编译之后会自动生成对应的DaggerXxxComponent

     类。

    Component如何得到module 

    通过DaggerXxxComponent.xxxModule方法设置,如果没有设置,默认调用Module的无参构造方

    法。

     


     Module如何得到model

     1)给依赖对象的本身的构造函数加@Inject注解

     2)通过加了@Module的Module类的加了@Provide注解的方法

     二者可以共存。



Dagger2依赖嵌套:   

    1.一个Component依赖另外一上Component,注意书写的格式

       容易发生的异常:

       Dagger2 注解 初识

    





      本文转自屠夫章哥  51CTO博客,原文链接:http://blog.51cto.com/4259297/1768201,如需转载请自行联系原作者