IDEA中关于mapper.xml文件和dao接口路径及文件名相同的问题

之前写了一个spring整合mybatis的项目,在其中配置dao接口和mapper.xml文件时出现了问题
为了方便区分,现将其后缀名加上
dao接口名称为UserDao.java
mapper.xml文件名称为UserDao.xml
目录结构为以下这样
在这里插入图片描述

问题

UserDao.java放在java源文件的com.imooc.sm.dao下
Userdao.xml放在Resource源文件夹下的com.imooc.sm.dao下
起初,我在创建Resource的com.imooc.sm.dao文件夹时,用的是以.为连接的方式,但是频繁的给我报错,说找不到UserDao下的方法,我又仔细检查了xml文件,发现配置的没有错误.

解决

之后,我将Resource下的com.imooc.sm.dao改为com/imooc/sm/dao的方式创建,就不报错了,我也不知道问题出在哪里,希望有大神能解答一下。

追更一下

今天我发现了问题的所在
当两个路径以及文件名相同的时候
在Sevice业务层属性注入的时候使用@Autowired标签,idea会自动提示使用更加贴合的@Qualifier(“staffDao”)标签,然而在改了之后就会出现报错的问题,解决方法就是使用@Autowired标签,不管idea的报错,此时也可以运行,让idea自己去分辨。
在这里插入图片描述


版权声明:本文为MrSuper_cat原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。