不管对于那个段位的 Developer 来说,读源码都是一件好处颇多的事情,特别于初学者而言,这能迅速的吸纳优秀框架精华代码营养,迅速成长。
阅读源码其实要有一些功底,比如熟悉Java26种常用的设计模式、反射、泛型。
1.获取框架源代码,运行调试读源码。大多主流的框架源码都会放到https://github.com/上(国内有些也托管到码云上了),下载代码时主要选择"tags"或"release"中获取相应的版本,不要获取master或者dev版本,
因为这些版本还不稳定,可能会跑不起来,影响程序运行。程序能跑起来,对于程序员来说,就很容易Debug分析框架了。
2.从宏观到微观,先从整体把握,再到细处。有些复杂的框架,可能不知道从哪里开始读取,入口在哪,这时就需要先从宏观去把握。例如Mybatis,不知从哪读起,那么就得先把握
mybatis是什么,做什么的。mybatis是一个ORM框架,是一个应用与数据库交互的一个中间框架,那么它的作用就是获取数据源,翻译Java程序,然后对数据库进行操作,
那么就可以带着这种宏观的理解去读源码,如怎么获取数据源的,怎么获取程序员写的SQL语句,怎么执行SQL语句,执行后的结果怎么返回给程序。
3.从微观反推宏观。有时就想看下一个框架是如何实现特定功能时,就可按此方法读源码。还是读mybatis源码,比如我就想知道我写的一个SQL语句框架是怎么获取并得到。
那么可以在项目中搜索mapper.xml中的sql,