gpt4 book ai didi

java - 有人可以(详细地)解释 Dagger @Module 注释中的各种选项如何工作并相互交互吗?

转载 作者:行者123 更新时间:2023-11-30 02:43:13 26 4
gpt4 key购买 nike

我看到了一些文档和博客,但没有任何东西可以将它们整合在一起。如果存在,指向它的指针可能就足够了。

认为我理解了一些基础知识,但如果我错了请纠正我。

  1. library = true 意味着 Dagger 应该验证每个 @Provides 在模块用于在列出的类列表中注入(inject)一些东西在 injects = { ... } 列表中
  2. library = false 禁用此检查,因为您可能会使用它多个地方/项目中的模块,而不是每个@Provides 都被使用。
  3. complete = true 表示这个模块可以满足所有的injects = { 中列出的所有类所需的依赖项...

我不明白 includes 和 addsTo 是如何工作的,以及它们如何(甚至应该)用于启用设置 complete = true。

例如,假设我使用

创建了一个初始图

ObjectGraph graph = ObjectGraph.create(moduleA, moduleB);

然后我使用 ModuleC 扩展该图。

ObjectGraph extendedGraph = graph.plus(new ModuleA());

在我看来,该图是由 ModuleA 和 ModuleB 构建的,所以我想说 ModuleC addsTo both ModuleA 和 ModuleB,但 addsTo 只允许一个。

我们是否应该说 ModuleC 包括 ModuleA 和 ModuleB 然后说 ModuleC 是完整的?

最佳答案

这是我能找到的最好的资源,不幸的是,它们仍然是开放项目,以更清楚地记录每个注释。

https://github.com/square/dagger/issues/370

关于java - 有人可以(详细地)解释 Dagger @Module 注释中的各种选项如何工作并相互交互吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25466856/

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