问题描述:The dependencies of some of the beans in the application context form a cycle:
***************************
APPLICATION FAILED TO START
***************************
Description:
The dependencies of some of the beans in the application context form a cycle:
TDriverVoiceOperateClientImpl
↓
saveVoiceOperateLogAction
↓
voiceOperateLogService
↓
voiceOperateLogMapper defined in URL [jar:file:/docker/opt/meituan/apps/qcs-driver-security-server/work/qcs-driver-security-server-1.0-SNAPSHOT.jar!/BOOT-INF/lib/qcs-driver-security-core-1.0-SNAPSHOT.jar!/com/sankuai/qcs/driver/security/mapper/VoiceOperateLogMapper.class]
┌─────┐
| sqlSessionFactory defined in class path resource [com/sankuai/qcs/driver/security/app/MybatisConfig$RoutingDataSource.class]
↑ ↓
| serverPublisher
↑ ↓
| TDriverSecurityCommmonServiceImpl (field private com.sankuai.qcs.driver.security.service.LeftServiceTimeTaskService com.sankuai.qcs.driver.security.thrift.TDriverSecurityCommmonServiceImpl.leftServiceTimeTaskService)
↑ ↓
| leftServiceTimeTaskService
↑ ↓
| leftServiceTimeTaskMapper defined in URL [jar:file:/docker/opt/meituan/apps/qcs-driver-security-server/work/qcs-driver-security-server-1.0-SNAPSHOT.jar!/BOOT-INF/lib/qcs-driver-security-core-1.0-SNAPSHOT.jar!/com/sankuai/qcs/driver/security/mapper/LeftServiceTimeTaskMapper.class]
└─────┘
工具人好久没碰见这种破问题了,解决办法是把所有循环以来的类引用改成@Autowired注册,解决了。
顺便复习下@Autowired 和 @Resource的区别。