springboot基于mybatis扫描jar包中的controller、service、dao、xml
springboot基于mybatis掃描jar包中的controller、service、dao、xml
最近有這樣的需求,是將某個業務模塊接口,比如新聞的接口模塊 作為一個公共固定的模塊,整個包括controller 、model 、mapper 、mapper .xml ,都通過jar 包的形式引入到其他項目中。
如果能夠實現,這樣避免了復制粘貼的繁瑣,只需要幾步配置,以及引入我們提前打包好的新聞模塊 jar,將表結構拷到新項目的數據庫里,即可調用里邊的接口。
1、要引入的項目模塊介紹
下邊是我要做成 jar 包的小項目,如下:
其實主要就是含有controller 、model 、mapper 、mapper .xml ,即我們調用接口需要的東西。
注意上邊的controller 、serviceImpl 里的會有@RestController 、@RequestMapping 、@Service 注解,這些注解都需要引入spring 包才可以,我直接是在pom.xml 里引入了如下的依賴:
其實要做成的jar 包,去掉關于數據庫、mybatis等的配置即可,只留下我說的那幾個。
2、打包jar
我在idea 里通過clean install 打包的項目,具體的再將打好的jar 包上傳到你們的maven 私服里,就不說了。
3、主項目引入jar需要做的配置
(1)pom里引入打包好的jar
比如下邊是我打包好的jar包,并上傳到我們的maven私服上的依賴,將它引入到項目里。
<dependency><groupId>znxd.demo</groupId><artifactId>znxd-zlzs-demo</artifactId><version>1.2</version></dependency>(2)springboot項目中application.properties添加配置
因為引入的jar 包的mapper xml 的路徑需要指定一下:
如下,classpath\* 即是配置jar 包里的xml路徑。locations 如果指定多個需要用, 分割。
可能有人覺得還需要配置:
mybatis.type-aliases-package=但是我沒有配置這個,竟然也成功了。所以這里不寫了
(3)springboot項目啟動項加入掃描包位置
如下,znxd.demo 是jar 包中的位置,必須要讓spring 掃描到它里邊的controller 、service 等等。
另外,znxd.demo.mapper 是jar 包里邊的mapper 接口的位置,也是需要添加到MapperScan 注解里邊。
(4)數據庫表結構
當然引入了jar包的項目,但是它們對應的表,也是需要導入到新庫里,否則查詢會報失敗的。
4、運行項目即可。
總結
以上是生活随笔為你收集整理的springboot基于mybatis扫描jar包中的controller、service、dao、xml的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AI理论知识基础(24)-凸函数
- 下一篇: Collections.synchron