事件起因:升级springboot版本,升级后需要明确指定启动循环依赖
allow-circular-references: true
但配置加了,还是没有起作用
原因排查:
1.以为配置没有生效,经过重新构建以及源码查看,配置已经被打包
2.还是报错循环依赖,根据报错进行代码调整以解决循环依赖
问题解决:
1.按照报错提示,进行提示出的部分进行循环解除,但构建还是失败,报循环依赖
2.出现了另外的循环依赖报错提示,所以两个路线,一个是尝试把各种情况的循环依赖都解开(这个方式涉及的点很多,作为备用方案),另一个,继续查没有生效的原因,后发现是因为@RequiredArgsConstructor注解引起的,allow-circular-references配置只能解决无参构造函数的自动循环依赖解决,如果项目中出现因为@RequiredArgsConstructor注解的类之间的循环依赖,就需要去除@RequiredArgsConstructor注解,代码调整相关的注入方式来解决
注:整个排查过程还是比较曲折,记录下来供遇到类似问题的耗友参考