Idea中mapper注入报错问题及解决

2023-05-14 05:05:39 报错 解决 注入

Idea中mapper注入报错

问题描述

如下图所示,通过扫描方式的mapper在service自动注入的时候,会有校验报错。

在这里插入图片描述

解决办法

File-setting-Editor-Inspections-spring-Spring Core-Code-Autowiring for bean class

设置Severity:warning

apply - ok

在这里插入图片描述

最终效果

如下图所示,即可解决报错问题。

在这里插入图片描述

idea中Mapper接口无法自动注入

报"Invalid bound statement (not found) "异常

首先声明Mapper接口时,could not autowire,是因为idea的拼写检查,并不影响执行

Setting->Inspections->Spring->sprinGCore->Code->Autowiring for Bean Class设置为nohighliting ,only fixed.即可

接下来的说”Invalid bound statement “异常,不能找到Mapper接口的代理类

1.检查了我的配置文件,没有问题

2.我看网上很多人说因为Idea不能编译resources目录下的XML文件,然后target下的classes目录下不会生成XML文件,需要在Maven项目的pom文件build下加入以下配置

<build>     
    <resources>  
        <resource>  
            <directory>src/main/java</directory>  
            <includes>  
                <include>***.xml</include>  
            </includes>  
            <filtering>false</filtering>  
        </resource>  
        <resource>  
            <directory>src/main/resources</directory>  
            <includes>  
                <include>***.xml</include>  
            </includes>  
            <filtering>false</filtering>  
        </resource>  
    </resources>  
</build>  

可是我的target目下有XML等配置文件,所以不是这个问题,我使用的是IDEA 2017.2.6版本,我想idea应该新点的版本解决了这个问题.

我们知道Mybaties中,Mapper接口和XML配置文件需要在一个目录下。

3、最后我发现我的问题是:

这里写图片描述

我的resources下的文件建立错误了。

eclipse的resources下可以建立pacakge,但是Idea下不能,只能建立Directory,即目录.

所以我之前新建com.ray.mybbs.mapper.test,这显然是一个文件夹的名称。

正确的建立方式是com/ray/mybs/mapper/test,这样建立多级目录

至此问题解决。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

相关文章