Spring 相互注入问题
@Service("A")
public class A {
@Autowired
private B b;
public A(){
System.out.println("****** A is load");
}
public void print(){
System.out.println("A success!!!");
}
}
@Service("B")
public class B {
@Autowired
private A a;
public B(){
System.out.println("****** B is load");
}
}
两个类,用Spring管理,相互注入,为什么不会报错啊= =好郁闷
------解决方案--------------------
我来回答你吧,这就是你对spring容器初始化bean不了解导致的,开始时,如果A和B都是容器管理,那么在初始化bean的时候,会先相当于new出来A对象和B对象,然后在分别初始化内部的属性。当然这样的注入不会报错。但如果你是自己new出来的,那就会出现死循环。不知道我的回答你还懂