@Autowired
注释如何适用于没有getter setter的私有字段?
春天如何进入私人领域?
答案 0 :(得分:10)
适用于reflection。 Here您可以找到如何设置公共字段的示例。但是设置私有字段并不会产生difference
答案 1 :(得分:0)
@Component
public class A(){}
@Component
public class B(){
@Autowired
private A a;
}
Spring创建了作为@Component提到的bean。这里首先创建bean A,因为B依赖于A,所以完成A到B的注入。没有任何安装人员。只需要@Component。 Spring使用CGLib通过反射创建bean。
答案 2 :(得分:-1)
三种类型的依赖注入
对象至少有三种方式可以接收对外部模块的引用:
构造函数注入:依赖项是通过类构造函数提供的。
setter injection:客户端公开了一个注入器用于注入依赖关系的setter方法。
接口注入:依赖项提供了一个注入器方法,该方法将依赖项注入传递给它的任何客户端。客户端必须实现一个接口,该接口公开接受依赖项的setter方法。