Spring 源码学习流程

  • 要想快速了解一门技术的大概,先看官方文档:

spring4的文档:

Introduction · Spring Framework 4.x参考文档
http://blog.didispace.com/books/spring-framework-4-reference/
guoxiaoxu/SpringInActionPractice: Spring实战练习coding和笔记
https://github.com/guoxiaoxu/SpringInActionPractice

  • 看系列文章,从设计模式入手,从整体到局部,一点点剥离Spring的源码

知秋z - 知乎
https://www.zhihu.com/people/zhi-qiu-z/posts?page=2
spring 源码 - 搜索 - 掘金
https://juejin.im/search?query=spring%20%E6%BA%90%E7%A0%81
Spring思维导图,让spring不再难懂(一) - java思维导图
https://my.oschina.net/u/3080373/blog/891918
Spring思维导图,让Spring不再难懂(ioc篇) - java思维导图
https://my.oschina.net/u/3080373/blog/903341
Spring思维导图,让Spring不再难懂(aop篇) - java思维导图
https://my.oschina.net/u/3080373/blog/1503693
Spring思维导图,让Spring不再难懂(mvc篇) - java思维导图
https://my.oschina.net/u/3080373/blog/1438733

  • 查看相关源码的书籍,大致了解spring的架构

Spring实战(第4版) (豆瓣)
https://book.douban.com/subject/26767354/
精通Spring 4.x (豆瓣)
https://book.douban.com/subject/26952826/
Spring源码深度解析 (豆瓣)
https://book.douban.com/subject/25866350/
Spring技术内幕(第2版) (豆瓣)
https://book.douban.com/subject/10470970/
架构探险――从零开始写Java Web框架 (豆瓣)
https://book.douban.com/subject/26593466/
优秀的博客:
Spring 源码分析(一) —— 迈向Spring之路 - 水门-kay的个人页面
https://my.oschina.net/kaywu123/blog/610825
spring源码学习笔记 - CSDN博客
https://blog.csdn.net/chengzhezhijian/article/details/16982243

  • 调试源码:IOC和AOP

一、找到spring容器初始化的入口:
二、然后在了解Spring的主要功能IOC和AOP的实现
三、然后在一个一个组件进行了解。

边看边画类图和时序图,还有写笔记记录一些核心类的作用,第二遍就清晰多了。

Spring源码解析——如何阅读源码 - xingoo - 博客园
http://www.cnblogs.com/xing901022/p/4178963.html
Spring的精简版.
https://github.com/code4craft/tiny-spring
wenbo2018/mini-springframework: 一个mini Spring IOC实现
https://github.com/wenbo2018/mini-springframework

  • 找一个感兴趣的模块,查明白这个模块是什么作用

然后导入工程,编译不报错后,一个一个调试testcase. 基本就能把实现原理搞明白了。
比读读码效率高。

  • 写一个精简版的该框架

参考: