我对 Guice 的理解是:
- 构造函数级注入 (
@Inject public class Widget(Dep one, Dep two)
)意味着Guice 总是会在每次通过Injector
;调用构造函数时注入该构造函数。和 - 方法级注入(
@Inject public void setDepOne(Dep one)
_Widget
Injector
这两个假设是否正确?如果不是,请澄清!
所以我挂断的是:场级注入的含义是什么?
@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) {
// ...
}
}
提前致谢!