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,这样建立多级目录
至此问题解决。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
启用Spring事务管理@EnableTransactionManagement示例解析
这篇文章主要为大家介绍了启用Spring事务管理@EnableTransactionManagement示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-09-09
最新评论