Spring中的循环依赖

时间:2013-02-25 11:37:30

标签: spring cycle

如果我有bean A引用bean B而bean B依赖于bean A.在这种情况下spring会抛出ObjectCurrentlyInCreationException,但是内部如何发生以及它将在哪个对象上抛出此错误。 对于Eg:

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



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

2 个答案:

答案 0 :(得分:2)

如果您的A类和B类具有默认构造函数(A(),B()),我相信一切都会顺利进行。这个问题的可能欺骗:Circular dependency in spring

答案 1 :(得分:1)

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