2013-02-25 236 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方法之前構造空對象,默認構造函數對於兩個(而不是所有涉及循環依賴的類)都是需要的。