今日改造SpringBoot项目时,发现部分子项目下的页面报错,异常信息显示为:创建Bean错误,底层的原因是无法找到Mapper文件的依赖关系,Spring无法自动装配,建议将自动装配设置为true

经过一番的了解与学习,通过添加@MapperScan即可解决,记录以备后用!

完整的异常信息为:

{success=false, errorMessage=Error creating bean with name 'XXXController': Unsatisfied dependency expressed through field 'XXXService'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'XXXService': Unsatisfied dependency expressed through field 'mapper'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.XXX.modules.XXX.mapper.XXXMapper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}, message=org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'XXXController': Unsatisfied dependency expressed through field 'XXXService'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'XXXService': Unsatisfied dependency expressed through field 'mapper'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.XXX.modules.XXX.mapper.XXXMapper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}}

解决办法:

在SpringBoot的Application中添加@MapperScan注解,value=“"com.**.mapper"”

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐