java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Idea中mapper注入报错

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

作者:Yuhei001

这篇文章主要介绍了Idea中mapper注入报错问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

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>**/*.properties</include>  
                <include>**/*.xml</include>  
            </includes>  
            <filtering>false</filtering>  
        </resource>  
        <resource>  
            <directory>src/main/resources</directory>  
            <includes>  
                <include>**/*.properties</include>  
                <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,这样建立多级目录

至此问题解决。

总结

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

您可能感兴趣的文章:
阅读全文