1. 前言
2019下半年, 我急于求成,开始狂找源码分析的文章和书看, 比如 《Spring源码深度解析》 ,看的一趟糊涂!因为Spring真正复杂的是它的 思想、规范和设计哲学。万丈高楼平地起,我开始从简单的别的框架源码看,又积累了半年,现在继续重学Spring。
学习三件套(工具、代码、大脑)
先从环境搭建开始!
2. 拉取源码方式
从github clone源码,有多种优点:
- 可以从git log查看每一次的变更
- 可debug test下的代码, 更易关注细节
- 可check自己分支,修改源码调试
不过由于Spring用的Gradle构建,大部分人不太熟悉,加之国内你懂的网络环境,不少人直接被劝退了。
这里用IDEA,官方导入方式
废话不多说,GKD
2.1 环境准备
- IDEA
- Gradle 5.X及以上
- Git
2.2 clone源码
git clone https://github.com/spring-projects/spring-framework.git
2.3 预编译
切换到项目根目录,推荐使用gitbash打开,执行命令预编译spring-oxm模块
./gradlew :spring-oxm:compileTestJava
当看到 BUILD SUCCESSFUL ,说明编译成功
2.4 IDEA打开
打开IDEA,选择
File -> New -> Project from Existing Sources -> Navigate to directory -> Select build.gradle
然后等待慢慢buid吧,网络原因可能build 数小时都是有的
3. 引入依赖方式
如果实在导不了包,就直接通过maven引入spring依赖然后调试吧
版本为 5.2.2.RELEASE