花里胡哨系列之Mybatis源码终篇---感悟(九)

一.Mybatis回顾

       Mybatis源码终于要结束了,这个系列一共写了九篇博客,基本上算是把Mybatis的各个功能模块都分析过一遍。最精华的部分个人认为是缓存模块,面试也常考。其实回过头来想想,Mybatis源码给我的感觉是小巧,精致的,并没有复杂的继承结构(spirng这块就让人头大);而且 Mybatis中的设计模式也用到了很多,如装饰者,模板方法,动态代理等等,有兴趣大家可以研究一下。Mybatis其它模块,如延迟加载,自增id获取,插件机制就留给大家自行分析了。

二.源码技巧

       研究源码的首要前提是对改框架有一定的使用经验,否则没必要了解源码。在准备研究源码前,建议官方文档看一遍。

       当下载完源码后,并不知到从哪里开始入手?网上搜 xxx源码分析,借鉴别人的博客,先了解整体运行流程,包含模块,然后自己跟着调试。

       调试过程中,遇到复杂的模块,可以暂时放在一边,等对整体有了一定的了解后再开始研究细节。切勿钻牛角尖!

       单元测试可以直接借用源码中的单元测试,根据模块名自行测试,修改等等。

       调试过程,对于某些类的初始化时间不了解的,打断点。一般在变量的 set方法内,或者构造函数内打断点,然后根据debug的方法调用栈查看之前调用了哪些方法,这样就很容易得知是在初始化时机。

三.自我小结

       Mybatis源码整体读完时间跨度大概为5个月,我自己都惊了。疫情期间在家,但是效率底下(纯混子)。复工后,又被调到其他小组帮忙,断断续续的,说白了就是懒,好在咬牙看完了。源码毕竟不是自己写的,看一遍忘记很正常,需要温习。源码整理花了11天,CSDN的7月归档显示8篇了,还是要继续坚持。

        当然,看到花里胡哨系列篇的博客点击量少的可怜,内心还是受打击的。源码类的博客第一次写,对文章的整体架构还是没规划好,之后会努力修正的!

        花里胡哨系列正式宣告结束!接下来准备分析Spring系列源码,这将是一段漫长的旅程,但我愿意接受挑战。

        Spring系列名暂定为:全面开战!  

        一起期待吧。

        结语: 满纸荒唐言,一把辛酸泪。都云作者痴,谁解其中味?

你可能感兴趣的:(Mybatis,java,mybatis)