栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用不带“ injects”指令的Dagger模块

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用不带“ injects”指令的Dagger模块

你要

@Module(library=true)

这是文档所说的

library

如果此模块中所有包含的绑定对于满足其所有可注入类型都是必需的,则为False。如果模块不是库模块,则可以进行其他静态检查:工具可以检测是否不需要包含的绑定。
如果您提供此模块图未使用的绑定,则必须声明library = true。

(强调我的)


将模块声明为库并不能减轻Dagger了解注入点的需求。您仍然必须在对象图中使用列出的注入声明一个模块。

您的示例的极端简化版本如下所示:

repo/ +- library/ |   +- Foo.java |   `- FooModule.java | `- app/     +- BarActivity.java     `- BarModule.java

FooModule.java

@Module(library = true)public final class FooModule {  @Provides @Singleton provideFoo() {    return Foo();  }}

BarModule.java

@Module(  injects = BarActivity.class,  includes = FooModule.class)public final class BarModule {}

BarActivity.java
(或类似)中:

ObjectGraph og = ObjectGraph.create(new BarModule());og.inject(this);


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/441027.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号