一、问题描述

一位同事在开发新功能的时候报错,但是之前的功能都不会报这个错,只有这个新功能的代码会导致项目启动报错。

报错信息如下:

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'expGradeService': Unsatisfied dependency expressed through field 'expGradeDao'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.lis.eiknb.eims.analysis.integralmanage.expgrade.dao.ExpGradeDao' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}

在排查过程中,发现新写的代码里面的层级多了一个

错误的:

com.lis.eiknb.eims.analysis.integralmanage.expgrade.dao.ExpGradeDao

正确的:

com.lis.eiknb.eims.analysis.expgrade.dao.ExpGradeDao

但我们代码扫描那边都是按这个规范来定的:

所以才导致了找不到对应的类,创建bean失败。去掉多余的integralmanage目录,重新打包,启动服务成功。

备注报这种错误的原因可能有很多,这只是我遇到的问题处理的方案,希望能给其他人带来有用的参考思路。

Logo

鸿蒙生态一站式服务平台。

更多推荐