2013-02-25 123 views
0

如果我有bean A引用bean B,并且bean B依赖于bean A.在这种情况下,spring会抛出ObjectCurrentlyInCreationException,但是它在内部发生了什么以及它会抛出这个错误。 对于EG:Spring中的循环依赖关系

<bean id='A'> 
    <ref bean='B'> 
</bean> 



<bean id='B'> 
     <ref bean='A'> 
</bean> 
+0

可能的重复http://stackoverflow.com/questions/3254931/how -to-enable-circular-reference-in-spring-framework – pedromarce 2013-02-25 11:59:47

回答

2

如果你的类A和B具有缺省构造函数(A(),B()),我认为一切都应该顺利。这个问题的可能推导:Circular dependency in spring

+0

只是想知道,在什么情况下Spring会抛出ObjectCurrentlyInCreationException – 2013-02-27 08:13:16

1

这是Spring中循环依赖的典型例子。 Spring可以通过setter-injection来解决循环依赖。对象是在调用setter方法之前构造的。为了帮助Spring在调用setter方法之前构造空对象,默认构造函数对于两个(而不是所有涉及循环依赖的类)都是需要的。