在dagger2中混淆了对组件接口的集合依赖性

时间:2016-04-23 14:51:11

标签: android dagger-2

通常,在组件界面中,我们设置...

@Component(dependencies = xxxComponent.class)

...这意味着组件A取决于组件B

但如果我们把它设置为......

@Component(dependencies = xxxModule.class)

..设置如下所示是一样的吗?

@Component(modules = xxxModule.class)

如果不同,这两种方式有什么区别?

代码是这样的:

组件接口: enter image description here

模块:   enter image description here

1 个答案:

答案 0 :(得分:0)

我不确定你想要完成什么。设置prods设置Component Dependencies。组件不能依赖于模块,而只能依赖于其他组件。如果您要将模块添加到组件依赖项列表中,我不确定是否(或为什么)会编译。

组件由多个模块组成,这就是需要@Component(dependencies=...)语法的原因。它允许您声明此组件的 used 模块。这是添加组件所需模块的正确方法。

因此,如果您依赖于另一个组件,请使用@Component(modules=...),但如果您使用模块,只需将它们正确地声明为模块即可。这两个属性肯定不一样。