java - 如何将命名组件注入(inject) Dagger 2 中的子图中?

标签 java android dependency-injection dagger-2

所以我正在开发一个在 Android 中使用 Dagger 2 的项目。我有两个相同类型的 @Singletons 对象,所以我使用了 @Named("some name") 注释来区分这两个,但是我我试图将这两个对象公开给子图,例如 @PerActivity,但我想不出一种简单的方法来做到这一点。通常当我想公开一个子组件时很容易......只需将它添加到我的 ApplicationComponent 界面,但在这种情况下我不知道如何做到这一点,因为这两个组件属于同一类型.有没有一种干净的方法可以做到这一点?还是我做错了?对此的任何帮助将不胜感激。

最佳答案

您可以在模块组件中使用@Named("some name") 注释。这意味着如果您使用不同的名称指定两个提供方法但具有相同的返回类型和添加的注释,您应该能够将两者都公开给子图。

关于java - 如何将命名组件注入(inject) Dagger 2 中的子图中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32146524/

相关文章:

java - 接收带有 2 个数组的 JSON 对象

java - 您能否将 Selenium WebElement 转换为字节数组或图像对象(使用 Java)?

java - 我正在努力在我的应用程序上设置 "Keep me on Logged in"状态。我该怎么做呢?

dependency-injection - Autofac 未解决模型绑定(bind)器依赖项

java - 我无法在不暴露私有(private)字段的情况下对我的类进行单元测试——我的设计有问题吗?

java - 为什么会无限循环? ( java )

java - Java IPC 最佳实践

android - 使用没有google plus的oauth在android中集成gmail登录

android - 使用 AppCompat 时如何更改 ActionBar 标题字体

spring - 在抽象父类(super class)中注入(inject)spring依赖