如题目,在做一个项目的时候,同事遇到了一个SpringBoot+MyBatis-Plus的Mapper扫描问题
如上图,是在执行逻辑业务的时候出现的BindingException
问题
最终排查
出错结果为 application-dev.yml 文件中 MyBatis-Plus 文件的配置项写错了
解释如下:
骚操作来了!(言简意赅)
将 application-dev.yml 文件中上图中 mapper-locations.......
这一行注释掉,同时,将mapper.xml
文件放在xxxMapper.java
文件的同文件夹中,再次启动SpringBoot项目,Mapper.xml
文件被扫描到并且可以成功绑定 xxxMapper.java
。如下图所示!
等等,你以为我分享的骚操作到这里就结束了?
大错特错
骚操作!又!来!了!(言简意赅)
因为是SpringBoot项目,所以项目结构如下:
java
文件夹下的 java
文件在编译之后会出现在 target
文件夹目录下对应的文件夹下,如下图所示
看到上图的 application.yml
和application-dev.yml
文件有没有觉得异常的熟悉?这明明就是上上图 resources
文件夹下的 application.yml
和application-dev.yml
,那么我在resources
文件夹下建立等同于java文件夹下的目录结构,将mapper.xml文件写进去呢(如下图所示)?可以成功绑定还是出去文章开头的异常?
答案是: 正常运行!
时间紧迫,分享结束!告辞!
我是一个普通的有一点点忙的程序员!