为什么@Subcomponents不能具有依赖项?

时间:2019-09-16 18:06:59

标签: java dagger-2

我今天遇到的情况是我具有以下组件层次结构:

A是根,具有B和C子成分,然后是B的D子成分。

但是现在有一点曲折:C需要D的某些东西。因此,我继续尝试声明C对D的依赖,只是发现子组件似乎不具备此功能。所以最后我使C成为另一个@Component,因此可以声明依赖项。但是要做到这一点,折衷显然是将A作为父组件提供的东西丢失给了C,现在我通过创建组件的类中的@BindsInstance将其手动传递给C,因为我已经使它采用了所需的参数是由C在构造函数中创建的,因为此类本身是由A的注入站点实例化的,在那里可以找到A在先前设置中提供给C的所有内容。

现在,这种替代方法似乎并不理想(因此,我很高兴听到更好的替代方法),但是我也不理解该限制。我可以理解为什么在某些情况下子组件依赖关系可能会带来麻烦,特别是如果一个组件是另一个组件的祖先,但是我认为我缺少了某些东西,因为它似乎不足以完全禁止这种可能性。

0 个答案:

没有答案
相关问题