Spring - Error creating bean with name ‘XX‘: Unsatisfied dependency expressed through field ‘XX‘

在项目中经常会遇到如下错误:

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'XX': Unsatisfied dependency expressed through field 'XX'
 
org.springframework.beans.factory.UnsatisfiedDependencyException: 
Error creating bean with name 'xxxMapper' defined in file [xxxMapper.class]: 
Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; 
nested exception is org.springframework.beans.factory.BeanCreationException: 
Error creating bean with name 'sqlSessionFactoryBean' defined in class path resource [xxxConfig.class]: Invocation of init method failed; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [xx\mappers\xxMapper.xml]'; 

报错:不满足依赖异常。创建名为’xx’的bean时出错,通过字段’sqlSessionFactory’表达的不满足的依赖项

一、配置与扫描问题:

spring配置文件中检查包是否扫描,仔细检查自己的配置文件里和相关的配置路径。

在项目配置文件(xxxConfig.class)中的配置:

private String[]           locations = {"classpath*:com/d1mgroup/wechat/estore/repository/*.xml"};

在application.yml文件中的配置:

或者检查一下启动类上的注解配置:

二、注解问题:

Controller、service层的注解缺失会造成创建bean时出现错误

@Controller

@Service

三、依赖包缺失,检查pom配置文件

检查pom.xml文件下是否缺失依赖或者有多余的依赖,判断是否对bean的正常创建有影响

四、xml包中存在空文件:

在xxxMapper.xml的包中如果有空的xml文件,就会造成此Bug,这种情况的具体原因暂时不清楚

五、复制xml文件;文件名确实存在错误

以上都没解决问题,则直接备份一下mapper或者mapper.xml文件,将其删除,重新创建同名mapper或者mapper.xml文件,然后Maven clean 一下,重新Rebuild project

猜你喜欢

转载自blog.csdn.net/MinggeQingchun/article/details/128741702