Idea中,resources下面建文件夹踩坑
直接上问题
mybatis无法加载xml,别划走,这个无法加载可不是配置写错了,继续看!
首先看上图中的xml,可以确定的是项目中所有的配置都是正确的,但是运行mapper中的方法时提示找不到方法,其实通过debug可以知道就是xml文件没有被扫描进去。我说过,我配置完全正确,为什么扫描不进去呢?来看第二张图:
似乎豁然开朗了吧,哎?大体一看都是config.mappers,没有不同啊,来,我们设置下idea,让包或文件夹都展开:
明白了吧,明白了吧,我在解释都侮辱你作为程序员的智商了,不说了。这种小问题有时候不管你工作经验多少,遇见可能都得亚麻得喊爸爸,是真有可能让你一夜不睡觉在那排查。
问题解决思路
这个问题耗费我一天都没发现问题所在。其实问题发生的原因是一个"习惯"导致的,就是我们src下面创建文件夹(包)习惯性的写a.b.c这个区建,这样写会自动为我们创建a、b、c三个文件夹。但是,在resources目录下,我们建立的叫Directory,不是package,直接写a.b.c他是名称而不是三个目录!!!
这个问题最终排查的方式是,我把现在有问题的代码直接git全部提交,然后新建一个项目,直到能正常跑。然后把新建的项目代码覆盖到刚才git提交的工程里。然后仔细对比每个变色的文件,最终发现,xml文件有的变灰了,意思删除了,文件夹如果一样可不是删除,应该标记为修改。
还原后:
不说了,浪费生命!