问题描述
先上代码报错截图
首先说一下什么是依赖循环,比如:我现在有一个ServiceA需要调用ServiceB的方法,那么ServiceA就依赖于ServiceB,那在ServiceB中再调用ServiceA的方法,就形成了循环依赖。Spring在初始化bean的时候就不知道先初始化哪个bean就会报错。
如果上面解释不清楚配合看下面的代码可以明白!
public class ClassA {
@Autowired
ClassB classB;
}
public class ClassB {
@Autowired
ClassA classA ;
}
出现这种情况其实就是你的设计出现了点问题,就是太耦合了,当然重构代码是以后的事,我们现在先解决它
解决方案:
全局配置,其实就是让Springboot允许循环依赖
在yml配置下面代码即可
spring: #解决Spring循环依赖问题 main: allow-circular-references: true
这是我认为最简单方便的解决方法,但是这个是你设计的问题,有机会还是重构一下代码吧