场景:
Caused by: org.springframework.beans.factory.BeanCurrentlyInCreationException: Error creating bean with name 'taskServiceImpl': Bean with name 'taskServiceImpl'
has been injected into other beans [groupServiceImpl] in its raw version as part of a circular reference, but has eventually been wrapped. This means that said other beans do not use the final version of the bean.
This is often the result of over-eager type matching - consider using 'getBeanNamesForType' with the 'allowEagerInit' flag turned off, for example.
如上示例就是循环依赖引起的报错,往往循环依赖报错只需排查最后一个 Caused by 就行
解决:
1、示例中 taskServiceImpl 已注入到 groupServiceImpl 中,有循环依赖问题,说明二者业务类中有互相引用注入,你注入我、我注入你
2、此时可以找到被注入的业务类 groupServiceImpl 在此业务类中的 taskService 上标注 @Lazy 懒加载即可。如下: