摆脱 Dagger 2 警告“生成 MembersInjector”

2024-02-17

给定以下课程

abstract class AbstractClass {
    @Inject SomeDependency someDependency;
}

class SomeClass extends AbstractClass {
    @Inject AnotherDependency anotherDepenency;

    public void onCreate() {
        component = // Get component instance somehow
        component.inject(this);
    }
}

在 Dagger 2 中,当将依赖项注入到从也包含依赖项的抽象基类扩展的类中时,Dagger 会显示此类警告Generating a MembersInjector for AbstractClass. Prefer to run the dagger processor over that class instead.编译期间。

但是如果我覆盖/实现onCreate() in AbstractClass并在那里也调用依赖项注入,即依赖项someDependency将被注入两次,这可能会导致意外的行为。曾在onCreate() of AbstractClass一旦进入onCreate() of SomeClass.

在防止重复注入依赖项的同时消除此警告的最佳解决方案是什么?


As of 匕首2.9 https://github.com/google/dagger/releases/tag/dagger-2.9默认情况下,这些警告处于关闭状态。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

摆脱 Dagger 2 警告“生成 MembersInjector” 的相关文章

  • 枚举的子类化

    有没有一种简单的方法来子类化Javaenum 我问这个问题是因为我有大约 10 个实现相同接口的对象 但它们对某些方法也有相同的实现 因此我想通过将所有相同的实现放置在扩展的中间对象中来重用代码Enum它也是我需要的所有其他类的超类 或许事
  • 连接外部 Accumulo 实例和 java

    我正在尝试使用 Accumulo 连接到虚拟机 问题是 我无法将其连接到 Java 中 我可以看到 Apache 抛出的网页 但我无法让它与代码一起工作 我认为这是缺乏知识的问题而不是真正的问题 但我找不到这方面的文档 所有示例都使用 lo
  • 在不支持 CAS 操作的处理器上进行 CompareAndSet

    今天 我在一次采访中被问到下一个问题 如果您在具有不支持 CAS 操作的处理器的机器上调用 AtomicLong 的compareAndSet 方法 会发生什么情况 您能否帮我解决这个问题 并在可能的情况下提供一些全面描述的链接 From
  • 有人用过 ServiceLoader 和 Guice 一起使用吗?

    我一直想通过我们的应用程序 构建系统进行更大规模的尝试 但更高的优先级不断将其推到次要地位 这似乎是加载 Guice 模块的好方法 并且避免了关于 硬编码配置 的常见抱怨 单个配置属性很少会自行更改 但您几乎总是会有一组配置文件 通常用于不
  • 我对线程失去了理智

    我想要这个类的对象 public class Chromosome implements Runnable Comparable
  • 未装饰窗户的 Windows Snap 功能?

    有谁知道如何允许未装饰的窗户使用此功能 唯一的选择就是重新实施它 有任何想法吗 谢谢 可停靠可能是唯一的JToolBar http docs oracle com javase tutorial uiswing components too
  • Java中Gson、JsonElement、String比较

    好吧 我想知道这可能非常简单和愚蠢 但在与这种情况作斗争一段时间后 我不知道发生了什么 我正在使用 Gson 来处理一些 JSON 元素 在我的代码中的某个位置 我将 JsonObject 的 JsonElements 之一作为字符串获取
  • 使用 OkHttp 下载损坏的文件

    我编写的下载文件的方法总是会产生损坏的文件 public static String okDownloadToFileSync final String link final String fileName final boolean te
  • 在光标所在行强制关闭!

    嘿 我正在尝试创建一个应用程序来查找存储在 SQlite 数据库中的 GPS 数据 但我面临一个问题 我构建了一个 DbAdapter 类来创建数据库 现在我尝试使用以下函数从另一个类获取所有数据上的光标 public Cursor fet
  • 在 Spring 中为 @Pathvariable 添加类级别验证

    在发布这个问题之前 我已经做了很多研究并尝试了很多可用的解决方案 这是我陷入的棘手情况 我有一个 Spring 控制器 它有多个请求映射 它们都有 PathVariables 控制器如下所示 Controller EnableWebMvc
  • 如何更改 Swagger-ui URL 前缀?

    我正在使用 Springfox Swagger2 和 Spring boot 1 5 9 我可以通过此链接访问 swagger UI http localhost 8090 swagger ui html http localhost 80
  • 使用 JDBC 连接到 PostgreSql 的本地实例

    我在 Linux 机器上有一个正在运行的 PostgreSql 本地实例 当我使用psql来自 shell 的命令我成功登录 没有任何问题 我需要通过 JDBC 连接到 PostgreSql 但我不知道我到底应该传递什么url参数为Driv
  • 如何在 IntelliJ IDEA 中运行 akka actor

    来自 Akka 网站文档 然后 这个主要方法将创建所需的基础设施 运行演员 启动给定的主要演员并安排 一旦主要参与者终止 整个应用程序就会关闭 因此 您将能够使用类似于以下的命令运行上面的代码 下列的 java classpath akka
  • 无需递归即可对可观察结果进行分页 - RxJava

    我有一个非常标准的 API 分页问题 您可以通过一些简单的递归来处理 这是一个捏造的例子 public Observable
  • IntelliJ Idea:将简单的 Java servlet(无 JSP)部署到 Tomcat 7

    我尝试按照教程进行操作here http wiki jetbrains net intellij Creating a simple Web application and deploying it to Tomcat部署 servlet
  • 按降序排序映射java8 [重复]

    这个问题在这里已经有答案了 private static
  • titledBorder 标题中的图标

    您好 是否可以在 titledBorder 的标题中放置一个图标 例如以下代码 import java awt GridLayout import javax swing JFrame import javax swing JLabel i
  • 即使禁用安全性,OAuth 令牌 API 也无法在 Elastic Search 中工作

    我是 Elastic search 新手 使用 Elastic search 版本 7 7 1 我想通过以下方式生成 OAuth 令牌弹性搜索文档 https www elastic co guide en elasticsearch re
  • Java 的“&&”与“&”运算符

    我使用的示例来自 Java Herbert Schildt 的完整参考文献 第 12 版 Java 是 14 他给出了以下 2 个示例 如果阻止 第一个是好的 第二个是错误的 因此发表评论 public class PatternMatch
  • 在会话即将到期之前调用方法

    我的网络应用程序有登录的用户 有一个超时 在会话过期之前 我想执行一个方法来清理一些锁 我已经实现了sessionListener但一旦我到达public void sessionDestroyed HttpSessionEvent eve

随机推荐

  • 如何在 Kotlin 中从枚举创建编译时常量?

    我有一个注释需要defaultValue为编译时常数 我拿defaultValue from enum below enum class RaceType MARATHON SPRINT companion object fun apply
  • 鼠标悬停时反应改变反应图标颜色

    当我用鼠标悬停在反应图标上时 我想更改反应图标的颜色 使用下面给出的代码 只有当鼠标悬停在图标的线条上时 图标才会改变颜色 例如 对于邮件图标 只有当光标悬停在图标的线条上而不是空白处时 颜色才会改变 如果我将鼠标悬停在图标的任何部分上 如
  • 接口“递归”和引用计数

    我的接口有一个小问题 这是伪代码 type Interface1 interface end Interface2 interface end TParentClass class TInterfacedObject Interface1
  • Discord.NET 将消息发送到一台特定服务器中的一个特定通道

    所以我试图向特定频道发送消息 但我一直在寻找并发现我看不到任何可以做到这一点的方法 我可能做错了什么 或者我在错误的区域寻找 我在谷歌上查找过 但找不到答案 这是我试图找到它时的代码 discord GetGuild serverid Ge
  • 如何将图像设置为图表轴或沿图表轴设置?

    我正在尝试使用彩色光谱带作为图表的轴 这个想法是将图像上的颜色与其沿底部 x 轴相关的波长相匹配 条带需要更改大小以匹配图表区域的变化 并扩展和收缩部分以匹配图表区域中的滚动缩放 我尝试过使用图像注释 但随着图表区域的变化 注释尺寸保持固定
  • 快速更改 SSIS 包数据源参数以方便迁移

    我需要将 SQL 数据库从 Sybase 迁移到 MS SQL Server 在生产服务器上进行实际迁移之前 我首先使用 SQL Server Management Studio 的导入 导出向导创建了一个 SSIS 包 以便与其他数据库进
  • 如何计算 python 中我的列中的行的编辑比/距离?

    我有一个只有一列的数据框 该列中有 1000 行 我需要比较所有行并找到所有行的编辑距离 我如何计算Python中的比率或距离 我有一个数据框如下 Df StepDescription click confirm button when d
  • 在 django admin 中动态设置 readonly_fields

    我可以改变吗readonly fields in my TranslationAdmin类依赖于某个字段的值Translation被查看 如果是这样 我该怎么做 我唯一想到的就是制作一个小部件来查看Translation并决定是否成为只读小
  • 使用 StreamWriter 写入 MemoryStream 返回空

    我不确定我做错了什么 看过很多例子 但似乎无法让它发挥作用 public static Stream Foo var memStream new MemoryStream var streamWriter new StreamWriter
  • 删除cassandra中大型数据集的列

    我们有一个冗余列 希望从 Cassandra 数据库 版本 2 1 15 中删除 这是一个文本列 代表磁盘上的大部分数据 15 个节点 X 每个节点 1 8 TB 最简单的选择似乎是更改表来删除该列 然后让 Cassandra 压缩来处理事
  • 了解 pdo mysql 事务

    The PHP 文档 http php net manual en pdo transactions php says 如果您以前从未遇到过交易 他们提供 4 种主要的交易方式 特点 原子性 一致性 隔离性和持久性 ACID 在 通俗地说
  • JavaScript:是否定义了成员?

    在我看来 有四种不同的方法可以确定给定的对象 例如foo 具有给定的属性 例如bar 定义 if foo hasOwnProperty bar if bar in foo if typeof foo bar undefined if foo
  • C/C++ 优化数据结构、数组的数组或仅数组

    使用使用 16 字节 4v4 一字节矩阵的程序 unsigned char matrix 4 4 和一些 256bytes 16v16 一字节矩阵 unsigned char bigMatrix 16 16 很多时候 由于数据操作 我被迫在
  • Maven:如何配置native2ascii-maven-plugin

    我向你们提出这个问题 因为项目页面本身没有太多信息 基本上我设置了 native2ascii maven plugin 来处理我的一些资源 它可以很好地处理根目录中的文件 但现在我的子目录下有文件 template email 并希望将它们
  • selenium webdriver:如何在 C# 中处理 javascript onclick

    我正在使用 Selenium Web 驱动程序 C 测试一个网站 我最初的目的是检查返回 200 的 HttpWebResponse 但是 该按钮是一个 javascript onclick 事件 我想知道是否有人有过处理这种情况的经验 以
  • 从 JTable 中的行生成标准差图

    我正在尝试创建一个JTable我可以单击一行 它将显示标准偏差曲线 这是我的JTable看起来就像现在 例如 字符串的标准差screen saver action gt login login gt disclaimer ok看起来像这样
  • 如何使用枚举简化并使其更好,快速学习,枚举

    我通过以下方式定义一些范围 let range0 15 0 lt 15 let range15 30 15 lt 30 let range30 45 30 lt 45 let range45 60 45 lt 60 我真的很想用Enum为此
  • 我可以在neo4j中创建具有指定id的节点吗?

    我想在 Neo4j 中保存关系 但是 也许 我还没有决定 将对象保存在不同的数据库 类似于 Redis 中 如果要这样做 最好在存储数据库和 Neo4j 中同步 ID 那么 我可以在 Neo4j 中创建一个节点并将 ID 传递给它吗 聚苯乙
  • 如何在java中的excel文件的同一张表中插入带有值的新行

    我想在 Excel 工作表中写入时插入新行 这是我的代码 public static void addValuesInWorkbook String pathAndFileName String sheetName int rowNum S
  • 摆脱 Dagger 2 警告“生成 MembersInjector”

    给定以下课程 abstract class AbstractClass Inject SomeDependency someDependency class SomeClass extends AbstractClass Inject An