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

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) 错误

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章