springboot基于mybatis扫描jar包中的controller、service、dao、xml

springboot基于mybatis扫描jar包中的controller、service、dao、xml

最近有这样的需求,是将某个业务模块接口,比如新闻的接口模块 作为一个公共固定的模块,整个包括controllermodelmappermapper .xml ,都通过jar 包的形式引入到其他项目中。
如果能够实现,这样避免了复制粘贴的繁琐,只需要几步配置,以及引入我们提前打包好的新闻模块 jar,将表结构拷到新项目的数据库里,即可调用里边的接口。

1、要引入的项目模块介绍

下边是我要做成 jar 包的小项目,如下:
其实主要就是含有controllermodelmappermapper .xml ,即我们调用接口需要的东西。
这里写图片描述
注意上边的controllerserviceImpl 里的会有@RestController@RequestMapping@Service 注解,这些注解都需要引入spring 包才可以,我直接是在pom.xml 里引入了如下的依赖:

<!--controller、service需要的注解--><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>4.3.6.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>4.3.6.RELEASE</version></dependency><!-- mybatis Mapper里需要它里边的一个注解--><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>${mybatis-spring-boot}</version></dependency><!-- mybatis分页插件依赖 service实现类里用到了 --><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>4.1.0</version></dependency><!--用到了一个它里边的方法--><dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.4</version></dependency>

其实要做成的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.mapper-locations=classpath:mapper/*/*Mapper.xml,classpath*:mapper/*/*Mapper.xml

可能有人觉得还需要配置:

mybatis.type-aliases-package=

但是我没有配置这个,竟然也成功了。所以这里不写了

(3)springboot项目启动项加入扫描包位置

如下,znxd.demojar 包中的位置,必须要让spring 扫描到它里边的controllerservice 等等。
另外,znxd.demo.mapperjar 包里边的mapper 接口的位置,也是需要添加到MapperScan 注解里边。

@SpringBootApplication
@EnableTransactionManagement
@ComponentScan(basePackages={"znxd.zlzs","znxd.demo"})
@MapperScan(basePackages = {"znxd.zlzs.mapper","znxd.demo.mapper"})
(4)数据库表结构

当然引入了jar包的项目,但是它们对应的表,也是需要导入到新库里,否则查询会报失败的。

4、运行项目即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/556698.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java 后台和前端的消息提醒_滴滴Java后台3面题目:网络+内存溢出+各种锁+高性能+消息队列...

一面自我介绍项目介绍JVM类加载机制java的垃圾回收器都有哪些&#xff0c;说下g1的应用场景&#xff0c;平时你是如何搭配使用垃圾回收器的。红黑树的设计经常使用的设计模式&#xff1f;以及UML设计&#xff1f;hashmap实现的的数据结构是什么样的&#xff1f;当hash冲突过多时…

springboot 配置多个请求服务代理

springboot 配置服务代理 有时候&#xff0c;我们可能有下边这样的需求&#xff1a; 即&#xff0c;针对于分布式服务&#xff0c;我们会有多种业务接口服务&#xff0c;但是服务器上可能只要求开放一个服务的端口&#xff0c;比如上图的restA项目端口是对外开放的&#xff0…

计算机控制pid控制实验,计算机控制实验三数字PID调节器算法的研究

计算机控制技术实验报告学院&#xff1a;********** 班级&#xff1a;********** 姓名&#xff1a;****** 学号&#xff1a;**********实验三 数字PID调节器算法的研究实验项目名称&#xff1a;数字PID调节器算法的研究 实验项目性质&#xff1a;普通所属课程名称&#xff1a;计…

主板上的jrgb接口干什么用_用思维导图,解读选配主板的过程,重点解读兼容与接口的搭配技术...

本文用思维导图&#xff0c;解读选配主板的过程&#xff0c;重点解读兼容与接口的搭配技术&#xff0c;选择了5块不同主板&#xff0c;说明主板内容。重点提示&#xff0c;主板决定一台计算机能否稳定运行。任务描述&#xff1a;重点解读兼容与接口的搭配技术,解读选配主板的过…

Linux启动Mysql

关于Linux上安装Mysql可以查看之前的博客&#xff1a;https://blog.csdn.net/qq_43842093/article/details/120401076 Linux启动Mysql 下查看mysql服务的两种方式&#xff1a; 方式一&#xff1a; [rootlocalhost bin]ps -ef|grep mysql方式二&#xff1a; [rootlocalhost…

多媒体计算机技术19秋作业1,东师多媒体计算机技术19春在线作业1【标准答案】.doc...

多媒体计算机技术19春在线作业1-0002试卷总分:100 得分:0一、 单选题 (共 30 道试题,共 60 分)1.1984年公布的音频编码标准G.721&#xff0c;它采用的是()编码。A.均匀量化B.自适应量化C.自适应差分脉冲D.线性预测2.什么时候需要使用MIDI,()   (l)想音乐质量更好时 (2)想连续…

随机抽样java_实现随机抽样【随机数生成问题】

1、rand()定义&#xff1a;int rand(void);返回值&#xff1a;返回一个伪随机数&#xff0c;该数的范围是&#xff1a;[0,RAND_MAX)2、srand()定义&#xff1a;void srand(unsigned intseed);返回值&#xff1a;该函数是随机数发生器的初始化函数&#xff1b;如果使用相同的种子…

springboot配置shiro多项目实现session共享的详细步骤

springboot配置shiro多项目实现session共享的详细步骤 公司需要这样的需求&#xff1a; 有两个项目master 主项目、suiteone 项目&#xff0c;两个项目各自由shiro 安全框架管理&#xff0c;当不能登录时&#xff0c;都无法访问&#xff0c;但当登录了其中一个&#xff0c;再…

shiro框架---关于多项目之间验证为什么需要共享session

关于多项目之间登录验证为什么需要共享session 服务器上部署了两个项目&#xff0c;登录之后才可以访问其中的接口。现在想要实现&#xff0c;当登录项目1成功后&#xff0c;可以不需要再登录项目2&#xff0c;直接可以访问项目2中的接口。 大部分人都会想到&#xff0c;共享s…

怎么黑学校计算机室的电脑,大学计算机室变身黑网吧 校方:有需求

河南经贸职业学院计算机房在课间向学生收费办卡使用&#xff0c;被指变相开设“网吧”&#xff0c;一些学生痴迷于网络游戏中。对此&#xff0c;校方向记者表示&#xff1a;“上课时间不收费&#xff0c;课外时间有偿使用&#xff0c;学生有上网需求。”计算机房向学生收费玩游…

Linux重置Mysql密码_解决MySQL for Linux错误 ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost

Linux重置Mysql密码 一般这个错误是由密码错误引起&#xff0c;解决的办法自然就是重置密码。 假设我们使用的是root账户。 1.重置密码的第一步就是跳过MySQL的密码认证过程&#xff0c;方法如下&#xff1a; #vim /etc/my.cnf(注&#xff1a;windows下修改的是my.ini) 在…

计算机管理档案有什么好处,利用资料管理系统管理档案有什么好处

现在企业的档案都是比较多比较杂&#xff0c;也是非常重要的&#xff0c;所以利用资料管理系统管理档案&#xff0c;比传统档案管理方式要方便快捷得多。资料管理系统能够将文件处理和档案管理两个管理系统有机的结合在一起&#xff0c;真正实现无纸操作&#xff0c;规范管理&a…

excel 公式 平移 引用单元格_不学会这3个Excel隔列求和函数公式,你只能一个个单元格去相加...

Excel中的求和&#xff0c;并不是你们想的123那么简单。有单条件求和、多条件求和&#xff0c;合并单元格求和&#xff0c;隔列求和等等。有关求和的函数也很多&#xff0c;例如SUM函数、SUMIFS函数、还有与这两个函数结合使用的其它函数等等&#xff0c;不知道你们了解了多少。…

Linux - 查看软件安装与安装路径

【1】查看软件是否安装 因为linux安装软件的方式比较多&#xff0c;所以没有一个通用的办法能查到某些软件是否安装了。总结起来就是这样几类&#xff1a; ① rpm包安装的&#xff0c;可以用rpm -qa看到&#xff0c;如果要查找某软件包是否安装&#xff0c;用 rpm -qa | grep…

惠新宸php教程_百度PHP高级顾问惠新宸:PHP在百度的发展历程

惠新宸&#xff0c;百度PHP高级顾问,年二十有八&#xff0c;好追根究底&#xff0c;有不良嗜好, 幸性本善。乙酉年识互联网&#xff0c;丁亥年入雅虎&#xff0c;翌年入百度。虽性好安稳&#xff0c;然经变无数&#xff0c;唯常叹人生&#xff0c;菠菜汤尔。 大家好&#xff0c…

计算机考试中英文打字题,五笔及中英文打字试题(2套)含答案.docx

文档介绍&#xff1a;五笔及中英文打字试题(2套)含答案.docx中英文打字试题(1)一、 填空题(每空1分,共10分)在打字键区的正屮央有8个键位,即左边的 键和右边的 键。这8个键位被称作基准键,是打字时手指所处的基准位置。 就是通过一个定义新词的对话框,将任何非标進的词语(甚至是…

计算机mips是什么,在计算机术语中,什么叫MIPS

2006-08-18在计算机术语中,什么叫VGA显卡所处理的信息最终都要输出到显示器上&#xff0c;显卡的输出接口就是电脑与显示器之间的桥梁&#xff0c;它负责向显示器输出相应的图像信号。CRT显示器因为设计制造上的原因&#xff0c;只能接受模拟信号输入&#xff0c;这就需要显卡能…

springboot配置多项目下统一切换不同环境变量profile办法

springboot配置多项目下统一切换不同环境变量profile办法 springboot 适合于微服务那种多项目开发&#xff0c;每一个小项目就是一个springboot 项目&#xff0c;比如我们这样&#xff1a; 问题发生&#xff1a; 我们知道springboot 项目中的配置文件application.propertie…

python语言运算符有三种_《Python语言程序设计》 —2.3 运算符

2.3 运算符在计算机中&#xff0c;数据处理实际上就是对数据按照一定的规则进行运算。在已经掌握Python基本数据类型的基础上&#xff0c;我们来看一下对这些类型的数据可以做哪些运算。这里介绍数据处理中一些常用运算符的作用和使用方法。2.3.1 占位运算符占位运算符类似于…

springboot 关于 Class path contains multiple SLF4J bindings.警告的解决

springboot 关于 Class path contains multiple SLF4J bindings.警告的解决 有一次配置好springboot项目启动后&#xff0c;忽然发现有下边的警告&#xff1a; SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/E:/mavenJarOnline/c…