我有一个simpleAndroidactivity有一个单一的依赖。我将依赖项注入(inject)到Activity的onCreate中,如下所示:Dagger_HelloComponent.builder().helloModule(newHelloModule(this)).build().initialize(this);在我的ActivityUnitTestCase中,我想用Mockito模拟覆盖依赖项。我假设我需要使用提供模拟的特定于测试的模块,但我不知道如何将此模块添加到对象图中。在Dagger1.x中,这显然是通过somethinglikethis完成的。:@Before
已结束。此问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提出有关书籍、工具、软件库等方面的建议的问题。您可以编辑问题,以便用事实和引用来回答它。关闭7年前。ImprovethisquestionDagger2即将推出,但可用的示例甚至无法立即编译,文档是Dagger1的复制粘贴替换。谁有在Google的Dagger2上运行的正确应用程序的示例? 最佳答案 我刚刚发布了基于Gradle的示例应用程序,它集成了Dagger2、retrolambda、butterknife和lombok。你可以在这
上下文我已经用Gradle作为构建系统在java中启动了一个个人项目,我想使用Dagger2作为DI。这样做的主要原因是习惯该库并能够在更大的项目中轻松使用它。我尝试了什么我已经成功制作了Googlesample在IntelliJIDEA上运行问题IntelliJIDEA一直告诉我它无法解析生成的类(在本例中为DaggerCoffeeApp_Coffee)。不知道写的代码是否正确有点烦人(尤其是在学习使用Dagger2时)。所有java类都与Googlesample相同.这是我的build.gradle文件:applyplugin:'java'repositories{mavenCen
我刚开始使用Dagger2进行依赖注入(inject)。当我启动我的modules、components并尝试构建我的应用程序时,gradle抛出了错误Error:(4,24)error:找不到符号类生成我对其进行了深入研究,发现错误出现在Dagger生成的用于执行DI的类之一中。缺少的特定类是javax.annotation.Generated并且引发错误的行是将Dagger生成的类注释为@Generated("dagger.internal.codegen.ComponentProcessor")This问题有助于找到解决方案,即通过将compile'org.glassfish:j
我对Dagger1here提出(并回答)了同样的问题.现在ObjectGraph.inject不再存在,我该如何为Dagger2做类似的事情。这个问题可以概括为:如果对象必须由不同的框架创建,您如何进行成员注入(inject)?(在这种情况下,是一个Servlet容器)。 最佳答案 我一直在尝试回答同样的问题。我认为我已经接近它“应该”如何理想地工作,但我只是在GitHub项目周围徘徊,并试图根据那里的信息碎片来弄清楚它,因为很多Dagger2的文档仍在编写中(截至本周)。我下面的示例代码实际上是针对AndroidActivity的
我想知道是否有办法让Dagger知道它应该在新数据可用时重新创建一个对象。我所说的实例是用于改造的请求header。在某些时候(当用户登录时),我得到一个token,我需要将其添加到改造的header中以发出经过身份验证的请求。问题是,我留下了相同的未经身份验证的retrofit版本。这是我的注入(inject)代码:@Provides@SingletonOkHttpClientprovideOkHttpClient(Cachecache){HttpLoggingInterceptorinterceptor=newHttpLoggingInterceptor();interceptor
我有一个gradle项目,我想在其中使用dagger2.0。不知道如何配置IntelliJ和gradle生成文件让IntelliJ找到?我的build.gradle文件如下所示:applyplugin:'java'applyplugin:'idea'version='1.0'repositories{mavenCentral()maven{url"https://oss.sonatype.org/content/repositories/snapshots"}}dependencies{compile'org.slf4j:slf4j-api:1.7.12'compile'org.slf
我可能错过了一些东西,但我认为像@Singleton这样的作用域用于定义“作用域生命周期”。我在Android应用中使用Dagger2(但我认为问题根本与android无关)。我有1个模块:@ModulepublicclassMailModule{@Singleton@ProvidespublicAccountManagerprovidesAccountManager(){returnnewAccountManager();}@Singleton@ProvidespublicMailProviderprovidesMailProvider(AccountManageraccountMa
给定以下类abstractclassAbstractClass{@InjectSomeDependencysomeDependency;}classSomeClassextendsAbstractClass{@InjectAnotherDependencyanotherDepenency;publicvoidonCreate(){component=//Getcomponentinstancesomehowcomponent.inject(this);}}在Dagger2中,当将依赖项注入(inject)到从还包含依赖项的抽象基类扩展而来的类中时,Dagger会显示Generating
我开始在我正在开发的应用程序中使用Dagger2,但我对Dagger2的工作原理有一些疑问。我了解了@Provides方法背后的所有逻辑和用于初始化依赖项的@Inject注释,但类构造函数的@Inject注释让我有些困惑。例如:我是我的应用程序,我定义了一个模块,即ContextModule,用于检索我的应用程序的上下文:ContextModule.java@ModulepublicclassContextModule{privatefinalContextcontext;publicContextModule(Contextcontext){this.context=context;