作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
给定以下类
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 中,当将依赖项注入(inject)到从还包含依赖项的抽象基类扩展而来的类中时,Dagger 会显示 Generating a MembersInjector for AbstractClass 类型的警告。更喜欢在该类上运行 dagger 处理器。
在编译期间。
但是,如果我在 AbstractClass
中覆盖/实现 onCreate()
并在那里调用依赖注入(inject),则依赖 someDependency
将被注入(inject)两次,这可能会导致意外行为。一次在 AbstractClass
的 onCreate()
中,一次在 SomeClass
的 onCreate()
中。
在防止重复注入(inject)依赖项的同时消除此警告的最佳解决方案是什么?
最佳答案
截至 Dagger 2.9这些警告默认是关闭的。
关于java - 摆脱 Dagger 2 警告 "Generating a MembersInjector",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36396307/
我是一名优秀的程序员,十分优秀!