springboot工程扫描依赖Jar包的mapper和xml的解决办法

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/Allen_jinjie/article/details/88800644

1. 如果宿主和被依赖的工程都包含 Swagger.java,整合后会发生冲突,解决办法就是不重名或者直接删除被依赖工程里的文件。

2. 宿主的 Java 进程启动入口需要加上依赖 jar 包的扫描路径,MapperScan 也要加上对应的多个 dao 的包路径:

3. 宿主的 application.properties 文件的 mybatis 的配置的写法比较特别,需要写成:

也就是 classpath*:mapper/*.xml,红色的 star 不能少哦。

总结:

a. SpringBootApplication 负责扫描自己和依赖的包下的对象实例,不然 @Autowired 报错
b. MapperScan 负责自己和依赖的 Mybatis 的 DAO 接口的注册
c. application.properties 的 mapperLocations 则是说明所有应用类加载路径下的 mapper 文件都需要注册
d. 各被依赖的 jar (springboot)工程负责实例化自己的 mapper xml 实例

小记:

网上 【springboot】如何在自己的springboot项目中引用别的springboot项目jar  的第一条就说要删除 Application 啥的,其实是不对的,至少我们需要依赖它帮忙加载依赖的 mapper*.xml 文件,否则就会出现 Invalid bound statement (not found) 错误

猜你喜欢

转载自blog.csdn.net/Allen_jinjie/article/details/88800644