根据错误信息,你的应用程序在启动时遇到了循环依赖的问题。循环依赖指的是应用程序上下文中的一些bean之间存在相互依赖关系,形成了一个循环。
在你的应用程序中,存在以下循环依赖关系:
userController -> userServiceImpl -> unifiedAuthUserServiceImpl -> userServiceImpl
根据循环依赖关系,userController
依赖于userServiceImpl
,而userServiceImpl
又依赖于unifiedAuthUserServiceImpl
,最后unifiedAuthUserServiceImpl
又依赖于userServiceImpl
,形成了循环依赖关系。
解决循环依赖的问题有几种方法:
- 重新设计你的应用程序,尽量避免循环依赖。这可能需要重新组织你的代码架构或调整依赖关系。
- 考虑使用构造函数注入代替字段注入。构造函数注入可以更好地处理循环依赖,因为它可以在对象创建时解决依赖关系。
- 使用
@Lazy
注解延迟加载其中一个循环依赖的bean。在@Autowired
注解中使用@Lazy
,以延迟依赖的注入,这样可以破坏循环依赖。 - 将其中一个依赖改为接口,并使用接口进行依赖注入。这样可以通过在另一个bean中使用接口类型的依赖注入来解决循环依赖。
请根据你的具体情况选择适合的解决方案,并进行相应的调整。