Dagger2 scope

1. 一个没有scope的component是不能依赖于另外一个有scope的component

[email protected]不是真正意义的单例,比如下面

@Singleton
@Component
class SingletonComponent{
}

class Test{
    void test(){
        SingletonComponent c1 = DaggerSingletonComponent.create();
        SingletonComponent c2 = DaggerSingletonComponent.create();
        //这里c1和c2不是同一个实例
    }
}
  

单例说明

时间: 2024-08-25 03:06:02

Dagger2 scope的相关文章

Dagger2 中的 Scope

Dagger2 中虽然概念挺多的,但是大部分花时间都能理清.包括看人家的分析,Debug 代码下去也能懂.但是对于 scope 的用法以及实现原理还是有点难理解的.主要的问题也像简书上的文章所说: 自定义注解是怎么工作的?是不是命名了就能达到自己想要达到能够控制自己所提供的组建的生命周期的生命周期的功能?引用的说法就是这么一个回事: 比如Singleton就可以实现单例,PerActivity就可以创建的类实例与Activity"共生死",是不是我定义一个PerFragment的注解,

使用dagger2进行依赖注入(基础篇)

0. 前言 Dagger2是首个使用生成代码实现完整依赖注入的框架,极大减少了使用者的编码负担,本文主要介绍如何使用dagger2进行依赖注入.如果你不还不了解依赖注入,请看这一篇. 1. 简单的依赖注入 首先我们构建一个简单Android应用.我们创建一个UserModel,然后将它显示到TextView中.这里的问题是,在创建UserModel的时候,我们使用了前文所说的hard init.一旦我们的UserModel的创建方式发生了改变(比如需要传入Context对象到构造函数),我们就需

Dagger2 使用初步

Dagger2 是一个Android依赖注入框架,由谷歌开发,最早的版本Dagger1 由Square公司开发.依赖注入框架主要用于模块间解耦,提高代码的健壮性和可维护性.Dagger 这个库的取名不仅仅来自它的本意“匕首”,同时也暗示了它的原理.Jake Wharton 在对 Dagger 的介绍中指出,Dagger 即 DAG-er,这里的 DAG 即数据结构中的 DAG——有向无环图(Directed Acyclic Graph).也就是说,Dagger 是一个基于有向无环图结构的依赖注入

dagger2 重点笔记

官方架构例子,里面有个dagger2的结合的例子 https://github.com/googlesamples/android-architecture https://google.github.io/dagger Dagger2 通过注解来生成代码,定义不同的角色,主要的注解有:@Inject.@Module .@Component .@Provides .@Scope .@SubComponent 等. @Inject: 通常在需要依赖的地方使用这个注解.换句话说,你用它告诉Dagge

Dagger2使用攻略

Dagger2使用攻略 Dagger 2 是 Square 的 Dagger 分支,是一种依赖注入框架.眼下由 Google 接手进行开发,Dagger2是使用代码自己主动生成和手写代码来实现依赖注入.据说在 Dagger 的基础上效率又提升了13%.而且相同功能强大. 1.Gradle配置 (1)须要配置apt 插件:(在project根文件夹build.gradle文件里加入例如以下代码) dependencies { ... classpath 'com.neenbedankt.gradl

Android -- 带你从源码角度领悟Dagger2入门到放弃(三)

1, 前面两篇文章我们知道了怎么使用常用的四种标签,现在我们结合我们自己的项目中去简单的使用 在我们搭建项目的时候,一般会创建自己的Application,在里面进行一些初始化如一些第三方的GreenDao.ShareSDK等等,再或者提供一些常用的属性初始化:例如初始化屏幕的宽高度.初始化SPUtils工具类等,所以我们可以创建App类继承自Application(这里我只写了简单的App对象创建,没有写其他的任何方法) package com.qianmo.rxjavatext; impor

Dagger2 User's Guide(翻译)

概述 依赖注入(dependency injection)是一个对象为另一个对象提供依赖关系的技术手段.简单点说,就是一个对象(client)要依赖其它对象(services)才能完成工作,那么这个对象(client)就对其它对象(services)产生了依赖,而依赖注入就是把依赖(services)在需要的时候自动传给client,而不是client自己创建或者寻找services.也就是说客户对象(client)把提供依赖的职责交给了外部代码(注入器),注入器(injector)的注入代码会

Dagger2 使用正确姿势。

Dagger2 使用正确姿势. 上一篇文章<Dagger2 这次入门就不用放弃了>中介绍了Dagger2的一些显浅的使用方式,我觉得是非常适合入门Dagger2的傻瓜式讲解,后来发现有些内容讲的不够仔细,有些细节没有详细解释清楚.参考了以下三篇文章后,对之前的内容进行一些补充. Android:dagger2让你爱不释手-基础依赖注入框架篇 Android:dagger2让你爱不释手-重点概念讲解.融合篇 Android:dagger2让你爱不释手-终结篇 以上这三篇文章对于Dagger2的思

[Android] 转-RxJava+MVP+Retrofit+Dagger2+Okhttp大杂烩

原文url: http://blog.iliyun.net/2016/11/20/%E6%A1%86%E6%9E%B6%E5%B0%81%E8%A3%85/ 这几年来android的网络请求技术层出不穷,网络请求从最初的HttpClient,HttpURLConnection到Volley,OkHttp,Retrofit.但是如果直接使用,每个网络请求都会重复很多相同的代码,这显然不是一个老司机需要的.接下来我们就讲讲网络请求封装那点事. 主要利用以下技术点 - Retrofit2 Retrof