【发布时间】:2012-04-13 14:32:35
【问题描述】:
我对Guice的理解是:
- 构造函数级注入 (
@Inject public class Widget(Dep one, Dep two)) 暗示 Guice 总是会在每次通过Injector调用构造函数时注入该构造函数;和 - 方法级注入 (
@Inject public void setDepOne(Dep one)) 暗示 Guice 总是会在调用该方法时注入该方法,只要Widget对象是使用 GuiceInjector创建的
这两个假设是否正确?如果不是,请澄清!
所以我不知道的是:现场级注入的含义是什么?
@Inject private Dep one;
这是否意味着当通过 Guice 注入器创建对象时,Guice 将始终注入属性?在那种情况下,我会想象它与构造函数级注入冲突。
例如,以下是否会导致冲突/错误:
public class Widget {
@Inject private Dep one;
private Dep two;
// Dep one already injected as a field!
@Inject public Widget(Dep one, Dep two) {
// ...
}
}
提前致谢!
【问题讨论】:
标签: java dependency-injection guice