Dagger如何使用

      用过spring的肯定知道,当你创建一个对象的时候肯定不会自己手动去创建一个,而是由Spring帮你注入一个,当然dagger也是一样的,对象的创建无需自己创建,低耦合。

    下面先简单说下dagger的使用

   1.需要apt插件


2.添加相应的jar依赖


做完上面的两步,接下来你还需要了解几个基本注解的使用

@Inject 这个注解就是在你需要注入某对象的地方使用它,然后Dagger就知道你需要创建一个这样的对象。

@Module这个注解就是是标注到某个类上的,当Dagger需要创建对象的时候就会从这个类中寻找,从哪个方法中寻找呢,这就需要另一个注解@Provide,这个注解使用在方法上并专门提供那些需要注解的对象。

@Component 这个注解就像是一个注入器 它用于连接@Inject和@Module,相当于他们之间 的桥梁,@Compoent 用于注解一个接口,然后列出所有使用@Module的类并组成该组件

下面具体使用

Component 组件


Module


  @Moudle就是modules   @Provides说明该方法提供注解对象 并且是单利的 @Sinleton 顾名思义



当然我们还需要这个DataCompoent对象 这个对象你可以生成在合适的位置 保证他是单利 使用前已经初始化就好, 我这里是初始化在了自定义Application里面

做好上面的几个铺垫 Module 和 Component都有了 那么如果要在类中注入一个对象,


这里我们在类App中注入ActivityB    这里做了两步使用@Inject说明了 要注入的对象,使用DataCompoent告诉Dagger告诉哪个类需要注入


做完上面的几步 mActivityB就完全创建了  可以使用了  非常方便  不要你去管理他的生命周期


发布了27 篇原创文章 · 获赞 12 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/u013297345/article/details/53392711