Spring循环依赖问题
转载请注明出处(Cooper的专栏 http://blog.csdn.net/cooper_lyt)
Spring是个成熟的框架,我就不废话了,说下遇到的问题和解决方法。。不定时更新
循环依赖,就是说类A依赖与B,而B又依赖于A,这种情况本不应该发生,发生这种情况是因为我在项目中使用的工厂模式,用一个工厂来生产一些管理器类,而某一管理器要需要另一管理器提供支持所以就要引用工厂类,而这个管理器和这个工厂就出现了循环依赖(项目中实际的逻辑比这个更复杂,因为我在项目中实现的了一个工作流数据POJO类延迟加载的功能像hibernate 那样在调用一个类的集合属性时才到要shark中去查找数据而不是在new里加载,并且这个数据类的集合属性并不包含加载数据的代码只是普通的Bean方法get,set),查了一下spring的doc,解决方法很简单加个
lazy-init="true"就可以了,及在初始化时不建立类而是在使用时才建立。
<bean id="wfDataProxyFactory"
/>
</property>
<property name="processInstanceMgr">
<ref bean="processInstanceMgr" />
</property>
<property name="workMgr">
<ref bean="workMgr" />
</property>
</bean>