【发布时间】:2019-08-15 11:27:15
【问题描述】:
我们被要求探索 guice 作为一个依赖注入框架,因为它是轻量级的。我正在学习/体验 guice 并且有一些我无法理解的问题,所以我想问一下。
1) guice 何时使依赖项可用?在 Guice.createInjector ajf 行执行期间,然后读取模块并构造整个对象图?还是在第一次构造对象或调用方法时注入?
2) Providers 是在 guice 中延迟实例化类的唯一方法吗?
3) 最后,假设我有一个模块A 和模块B 组装在一起来制造一场战争。 A 的 guice 依赖项在它自己的 guice 模块中,B 也是如此。 A 的一些类对 B 有 maven 依赖。
我知道B 中的特定类永远不需要通过guice 注入,因为它根本不会在A 中被调用,而且我不给它绑定。但是 guice 告诉我,我没有 B 中的类的绑定并抛出 ProvisionException。当我知道我正在运行应用程序的功能不需要注入类时,我如何告诉 guice 忽略它们或在需要之前不关心它们?
【问题讨论】:
标签: guice