【发布时间】:2018-01-17 09:56:43
【问题描述】:
我正在试用牙签 DI 库,但我似乎错过了一些重要的东西。
我创建了以下test project on github,在其中我尝试为我的理解问题创建一个尽可能小的用例。
在那里你会找到ApplicationModule 我尝试在我的“根”模块中注入我需要的一切。如您所见,我有两次scope.installModules(module),因为我的PlainPojo 依赖于Application 实例。如果我不进行第一次installModule 调用,则范围内没有应用程序实例。正如评论中提到的,我可以将应用程序实例作为参数传递,但我认为我可以在使用 DI 时删除它们?
引起麻烦的第二个类是SimpleTest 类。如果我没有在构造函数中调用inject() 方法,则不会注入PlainPojo 成员。在绑定PlainPojo后,我还尝试在ApplicationModule中第三次使用installModules(),但这没有帮助。
假设成员上的 @Inject 足以在范围内可用时自动注入它并且绑定顺序足以使以前的绑定可用而无需在两者之间安装(如完成在ApplicationModule)?
如果我可以提供更多内容以使我的问题易于理解,请发表评论。
提前致谢!
【问题讨论】:
标签: java android dependency-injection toothpick-di