解决spring循环依赖的问题:has been injected into other beans
2016-07-27 17:02
1256 查看
首先说一下什么是依赖循环,比如:我现在有一个ServiceA需要调用ServiceB的方法,那么ServiceA就依赖于ServiceB,那在ServiceB中再调用ServiceA的方法,就形成了循环依赖。Spring在初始化bean的时候就不知道先初始化哪个bean就会报错。
但,如果改动比较大,可以在你的配置文件中,在互相依赖的两个bean的任意一个加上lazy-init属性
或者在你注意bean 的时候,在互相依赖的两个bean上加上@Lazy注解也可以。
public class ClassA {@Autowired ClassB classB;}
public class ClassB { @Autowired ClassA classA ;}当然, 最好的解决办法是进行解耦。
但,如果改动比较大,可以在你的配置文件中,在互相依赖的两个bean的任意一个加上lazy-init属性
或者在你注意bean 的时候,在互相依赖的两个bean上加上@Lazy注解也可以。
@Autowired @Lazy private ClassA classA; @Autowired @Lazy private ClassB classB;
相关文章推荐
- Struts2 - 常用的constant总结
- java中trim的理解
- 缓存池-简单实现
- 用Eclipse和QT来编译Snort
- Java 泛型
- Java Web学习(21):Cookie机制状态管理
- Java中的绘图技术
- java的jxl技术导入Excel
- Spring实现AOP的4种方式
- java的poi技术读取和导入Excel
- java的poi技术读取Excel数据到MySQL
- 解决eclipse中出现Resource is out of sync with the file system问题
- SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
- 操作Excel表格的功能类 ExcelReader
- 从头开始基于Maven搭建SpringMVC+Mybatis项目(4)
- Java笔记之socket中的SSL
- [Java基础笔记]注释风格及杂项部分
- java web 问题汇总
- VMware安装的ubuntu下配置java环境
- Java中反射机制