前言
看到标题是不是以为我要教你微服务的什么绝技了?
很遗憾,我只是想给你们分享一下我目前经手的一个SpringCloudAlibaba微服务项目带来的酸爽体验。
今天,我姑且把持久层的酸爽感受同诸位交流一二,让诸位知晓编程领域之浩瀚广阔,帮诸位开拓一下视野。
正文
废话少说,先展示一下本项目的大体轮廓,证明我没骗你们,因为涉及到部分保密协议,所以有些地方打码了。
可以看到,里面分了很多服务,有gateway网关,我选中的四个是我本篇要分享的。
中间两个是比较核心的挂号服务和支付服务,另外两个分别是后台管理服务和一个医疗护理服务。
接下来进入正题了
1、Mybatis
我这人有个习惯,看项目首先会看后台管理,看包结构先看mapper,所以打开manager服务一看,哎呦竟然是若依框架。
那行,毕竟我以前有过了解,不过看了下版本和包结构,发现是单体的vue3前后分离版本,嵌入到微服务里面来的。
随后打开业务模块看了看,嗯,如我所料,用的是Mybatis,因为若依的这个版本依然用的原生Mybatis。
想了下,挺好,哥就喜欢用原生的,顿时心下大定。
2、tkMybatis
当我打开核心的挂号服务时,发现包名是dao,点开一个mapper发现不对,咦,tkMybatis,什么鬼,不用原生Mybatis的了?
思索了一会儿,觉得也还好,后台管理服务是若依搭建的,其他业务服务用tkMybatis好像也挺不错。
顿时心下大定。
3、MybatisPlus
当我打开支付服务时,映入眼帘的包名令我沉默了,为啥有个mybatisPlus目录,此时隐隐有了一丝不详之感。
小心翼翼点开后…………当场石化。这特么不是MybatisPlus是鬼?
想不通,真想不通,两个核心服务,一个用tkMybatis,一个用MybatisPlus,搞分裂呢?
如果你以为结束了,那就小看天下英豪了。
4、JPA
其实最后一个持久化工具的出现已经是数天后了,当我跟踪到这块业务而打开这个服务的时候心脏都忍不住抽了几下,repository目录赫然在列……九斗麻袋……
工作这么多年,这目录好熟悉啊,好像很久没用过了,忽然见到,恍如隔世。
呐,打开就是这样,击溃了我整个职业操守。
既然我帮不了神经病,只好成为神经病,错的不是我,是这个世界。
总结
一个微服务项目使用4个持久化工具,大体有如下优势:
1)、为持久层带来了可靠的灵活性和扩展性,使开发人员能够想玩哪个就玩哪个,犹如换装play一般的极致享受;
2)、为开发人员提供了不可多得的学习机遇,一个项目就把所有流行的持久层工具通通学会,这是大厂程序员整个职业生涯都见不到的实战场景。
如果觉得有趣,就点赞关注收藏下吧,以后还会分享更多程序员有意思的事情哦~