转载请注明出处(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"
class="com.dgsoft.wf.data.proxy.WfDataProxyFactory"
lazy-init="true">
<!-- manager need -->
<property name="processMgr">
<ref bean="processMgr" />
</property>
<property name="processInstanceMgr">
<ref bean="processInstanceMgr" />
</property>
<property name="workMgr">
<ref bean="workMgr" />
</property>
</bean>
分享到:
相关推荐
Spring源码中最难的问题之一是循环依赖问题,当Spring AOP遇上循环依赖时,该如何解决? Spring通过三级缓存机制解决循环依赖的问题。 在Spring中,bean的实例化过程中,会先尝试从三级缓存中获取bean,这也是...
Spring循环依赖debug源码图
然而,Spring通过其强大的依赖注入机制,能够处理大部分场景下的循环依赖问题,但并非所有情况都能解决。 首先,让我们看看Spring如何处理单例bean(Singleton Beans)的循环依赖。在默认情况下,Spring采用三级...
Spring5.0源码深度解析之SpringBean循环依赖问题解决方案 Spring5.0源码深度解析之SpringBean循环依赖问题解决方案是指在Spring框架中如何解决Bean的循环依赖问题。在Spring框架中,Bean的循环依赖指的是两个或多个...
Spring的循环依赖处理机制是其依赖注入的核心功能之一,它使得开发者能够编写松耦合的代码,而无需过多关注依赖关系可能导致的问题。然而,了解其限制并合理设计bean之间的依赖关系,是避免潜在问题的关键。在编程时...
SpringBean 循环依赖问题与解决方案 SpringBean 循环依赖问题是指在 Spring 框架中,多个 Bean 之间存在相互依赖关系,导致 Bean 创建失败或无法正确注入的问题。这种问题常见于大型项目中,特别是在复杂的业务系统...
Spring循环依赖.vsdx
但如果开发者明确指定允许循环依赖,Spring会在每次请求prototype Bean时进行实例化和依赖注入,这可能导致每次请求都会创建一个新的Bean实例,从而避免了循环引用的问题。 总结来说,Spring通过“三级缓存”和“半...
spring bean循环依赖时序图详细的描述了spring的循环依赖关系,帮我们快速了解spring是如何优雅的进行处理的
Spring 循环依赖解决过程详解 Spring 框架中循环依赖是一个常见的问题,它指的是两个或多个 Bean 之间存在的相互依赖关系,例如 A ...Spring 通过三级缓存机制解决了循环依赖问题,实现了正确的 Bean 实例化和初始化。
《spring源码之循环依赖和三级缓存》整理,本人水平有限,从网上找的资料整合之后做的,请辩证的看待其中内容。
Spring三级缓存解决循环依赖.pdf
Spring通过其强大的依赖注入机制,大部分情况下能够自动解决单例bean之间的循环依赖问题,但并非对所有类型的循环依赖都有效。 首先,我们来看一个简单的例子: ```java @Configuration @ComponentScan public ...
了解并熟练掌握以上策略,可以帮助我们更有效地应对Spring中的动态代理导致的循环依赖问题。 为了更好地理解并实践这些解决方案,你可以参考提供的压缩包文件`demo-spring`中的示例代码,通过实际操作来加深印象。...
Spring循环依赖的解决办法 Spring框架中,循环依赖是指两个或多个Bean相互引用,形成一个环。这篇文章主要介绍了Spring循环依赖的解决办法。在Spring中,循环依赖可以分为两种场景:构造器的循环依赖和属性的循环...
这样,依赖直到被真正使用时才会被注入,避免了构造器阶段的循环依赖问题。在`CircularDependencyA`中添加setter方法,并移除构造器注入,可以解决这个问题。 总结来说,循环依赖是Spring Boot应用中需要注意的问题...
Spring框架在处理依赖注入时,会遇到一个棘手的问题,那就是循环依赖。循环依赖是指两个或多个bean之间形成一个依赖闭环,导致它们无法被正常初始化。本文将详细讲解Spring如何解决这一问题,以及为何它仅支持单例...
Spring循环依赖策略解析 在Spring框架中,循环依赖是指多个Bean之间的依赖关系形成一个闭环的情况。例如,A依赖B,B依赖C,C依赖A,这种情况下,如果A依赖B,那么在创建A的过程中会去创建B,在创建B的过程中又发现B...
Spring框架在处理循环依赖问题上展现出了其卓越的性能和灵活性。循环依赖是软件设计中常见的问题,特别是在大型Java企业应用中,它可能导致系统僵死或者运行时异常。Spring通过三级缓存机制和AOP代理巧妙地解决了这...
Spring 循环依赖的三种方式 Spring 循环依赖是指在 ...Spring 提供了多种方式来解决循环依赖问题,包括构造器参数循环依赖、setter 方法循环依赖和使用 @Autowired 注解。开发者可以根据实际情况选择合适的解决方案。