gpt4 book ai didi

java - 摆脱 Dagger 2 警告 "Generating a MembersInjector"

转载 作者:IT老高 更新时间:2023-10-28 21:16:20 25 4
gpt4 key购买 nike

给定以下类

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)两次,这可能会导致意外行为。一次在 AbstractClassonCreate() 中,一次在 SomeClassonCreate() 中。

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

最佳答案

截至 Dagger 2.9这些警告默认是关闭的。

关于java - 摆脱 Dagger 2 警告 "Generating a MembersInjector",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36396307/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com