首页  

spring循环依赖     所属分类 spring 浏览量 1486
依赖注入方式
set注入
构造注入

类的构造,调用构造函数、解析强依赖,并创建类实例。
类的配置,解析弱依赖,注入依赖。
类的初始化,调用生命周期中的初始化方法(例如@PostConstruct注解或InitializingBean的afterPropertiesSet方法) 


构造注入(强依赖) 循环依赖会报错
set注入(弱依赖) 循环依赖 没关系


构造注入 循环依赖报错
Caused by: org.springframework.beans.factory.BeanCurrentlyInCreationException: 
Error creating bean with name 'a': Requested bean is currently in creation: Is there an unresolvable circular reference?

Is there an unresolvable circular reference?


	       <bean id="a" class="dyyx.cycleref.A">	       
	          <constructor-arg ref="b"/>
	       </bean>
	       
	       <bean id="b" class="dyyx.cycleref.B">	       
	          <constructor-arg ref="a"/>
	       </bean>




单例依赖注入 循环依赖没有问题
依赖注入 一个单例 一个 prototype 没问题
依赖注入 两个都是 prototype   BeanCurrentlyInCreationException


完整代码

https://gitee.com/dyyx/hellocode/blob/master/project/springtest/src/main/java/dyyx/cycleref/Main.java

https://gitee.com/dyyx/hellocode/blob/master/project/springtest/src/main/resources/cycleref.xml

https://gitee.com/dyyx/hellocode/blob/master/project/springtest/src/main/java/dyyx/cycleref/

上一篇     下一篇
redis要点整理

从高级程序员到CTO

java对象内存占用大小计算

Java实用工具类

mysql索引失效的几种情况

LongAdder vs AtomicLong