摆脱匕首2警告“生成成员注入器”
给定以下类
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()
AbstractClass
someDependency
onCreate()
AbstractClass
onCreate()
SomeClass
在防止重复注入依赖项的同时摆脱此警告的最佳解决方案是什么?