指导:现场注入的含义
2022-09-04 00:56:55
我对Guice的理解是:
- 构造函数级注入 () 意味着 Guice 每次通过 ;和
@Inject public class Widget(Dep one, Dep two)
Injector
- 方法级注入 () 意味着 Guice 在调用该方法时将始终注入该方法,只要对象是使用 Guice 创建的
@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) {
// ...
}
}
提前致谢!