读源码真的很有用,之前一直不明白mybatis原理,准备面试也是死记硬背,最近读mybatis的源码,对于简单的三行语句SqlSessionFactory sqlSessionFactory=new SqlSessionBuilder(). build( inputStream); SqlSession sqlSession= sqlSessionFactory. openSession(); sqlSession. selectOne("com.my.mapper. UseraMapper. selectById",1);竟然有那么复杂的过程,这其中的方法调用感觉不下几千几万次。怎么解析mybatis配置文件的,怎么执行sql的,怎么获取数据源操作数据库的,一条语句/一个方法的调试,进入相应的方法,最终一天时间终于把这三行语句执行完,大致了解了其中的原理,当然还缺少系统的总结,之后再做。读了mybatis源码,我明白了配置文件的标签应该怎么写,写什么,标签中的属性怎么写,写什么,配置文件怎么解析的,都解析成什么,什么顺序,不写某个属性或标签为什么保存。明白了mybatis在哪里运用了反射、代理模式、抽象工程方法等方法和设计模式。通过阅读源码还学会了很多自己不知道的调试快捷键和技巧,认识到了调试的重要性。看了大佬写的代码,我们惊叹于大佬的思路的巧妙、代码的优雅,我们可以从中学到好多知识。等等等等,阅读源码的好处还有好多好多。因此,今后一定经常阅读源码,追求技术本质与底层。技术之路,永无止境。