@autowired注释如何用于私有字段?

时间:2015-02-24 11:09:08

标签: java spring

@Autowired注释如何适用于没有getter setter的私有字段? 春天如何进入私人领域?

3 个答案:

答案 0 :(得分:10)

适用于reflectionHere您可以找到如何设置公共字段的示例。但是设置私有字段并不会产生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方法。