美文网首页dagger2入门到不放弃
Dagger2使用与分析(3)---@scope

Dagger2使用与分析(3)---@scope

作者: saygoodbye_e92e | 来源:发表于2019-04-03 11:42 被阅读3次

我们来讨论一下@scope的使用与分析

应用场景:假如在目标类中依赖的对象要求是单例的,在一定的生命周期内使用同一个对象,使用Dagger2应该如何做呢。

根据之前基础使用方法中的介绍,每次我们调用 component 的 inject方法时,都会新创建一个对象来注入。如果我们想使用一个实例,那么就需要在创建了一个实例之后,后续每次使用都返回同一个对象而不是重新创建。如何达到这一目的呢,这里就需要用到 Scope 注解 。Scope 顾名思义是作用域,用于标注一个对象的作用域。Scope也是一个元注解,首先用Scope 来定义一个注解:

自定义scope注解

对应的单例的实体类是

person实体类,被依赖的类

自定义Module类如下:

PersonModule.java

自定义Component如下:

PersonComponent

测试使用:

测试使用

结果:

结果

查看DaggerPersonComponent文件

DaggerPersonComponent  文件

进入DoubleCheck中

get

典型的单例模式的写法。

后面会继续介绍更多Dagger2的文章

相关文章

网友评论

    本文标题:Dagger2使用与分析(3)---@scope

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