美文网首页dagger2入门到不放弃
Dagger2使用与分析(5)---带参数的对象注入

Dagger2使用与分析(5)---带参数的对象注入

作者: saygoodbye_e92e | 来源:发表于2019-04-08 11:02 被阅读25次

应用场景:将有参数的构造函数的实例注入到目标类中

如:依赖类:

依赖类

module中 要提供对象,还有提供参数

如下:

自定义module

对应的Component接口:

自定义component

还有原来的套路,我们rebuild一下,生成java文件

注意这里。我们不能直接使用DaggerSellMoeComponent.create()

为什么呢,查看生成的DaggerSellMoeComponent.java文件,发现没有create()这个方法

那么该如何使用呢, 我们来分析一下:

我们先看一下inject(MainActivity mainActivity)

生成文件01

从1-->2--->3,我们发现我们需要sellMoeModule这个实例,那么sellMoeModule是怎么获取到引用的呢?

我们会发现如下代码:

生成文件002

显然是通过构造函数中实现将SellMoeModule的实例sellMoeModule注入到DaggerSellMoeComponent这个类中。那么这个构造函数是从哪里调用的呢?

生成文件003

到这里你就会发现,我们必须手动调用这个Builder内部类中的sellMoeModule这个构造函数

所以使用就很简单了

调用

注意此处其他的对象注入到目标类的流程和前面的几篇文章的套路基本上一致

相关文章

  • Dagger2使用与分析(5)---带参数的对象注入

    应用场景:将有参数的构造函数的实例注入到目标类中 如:依赖类: module中 要提供对象,还有提供参数 如下: ...

  • Dagger2 Android --- 注解&注入流程分

    Dagger2 Android --- 注解&注入流程分析篇 本篇的分析基于前一篇基础使用: Dagger2 An...

  • Dagger2踩坑

    当使用@Inject标记构造函数时,如果次构造函数存在参数,那么Dagger2会对其参数进行注入,去查找provi...

  • springmvc 06 Handler方法传参

    使用POJO作为参数springmvc会自动把参数注入到POJO对象的属性中,且包括级联注入 使用原生servle...

  • 你所看到较轻松的Dagger2(源码分析)

    上篇我们介绍完了Dagger2的详细使用方式,这篇我们分析一下Dagger2为什么这么神奇,它是怎么进行依赖注入的...

  • dagger2源码解析

    上次我们对dagger2进行简单的使用,这次我们来重点看下dagger2是怎么帮助我们实现对象的注入的。当我们完成...

  • 《Thinkphp5入门系列课程》第十课:Request

    Thinkphp5视频教程 通过本文你可以学到: Request 对象的使用 参数的获取 Request 自动注入...

  • dagger注入原理

    上篇讲了dagger2的使用,这篇将对具体怎么注入做一个分析。 dagger2采用的是APT技术,在编译期间生成j...

  • Dagger2使用指南

    什么是Dagger2? Dagger2是一个依赖注入框架,那么何为依赖注入呢?依赖注入是面向对象编程的一种设计模式...

  • Dagger2 使用总结(一)

    Dagger2是一套依赖注入框架,在编译期间自动生成代码,创建依赖的对象。项目中使用Dagger2可以降低代码的耦...

网友评论

    本文标题:Dagger2使用与分析(5)---带参数的对象注入

    本文链接:https://www.haomeiwen.com/subject/xslqiqtx.html