spring源码有很多值得学习的地方,自己搭建了一套源码框架,方便跟踪和查看。对理解底层的结构有非常大的帮助。下面开始:
step1 准备环境:
官方下载spring的源码:记得切换分支,我下的是5.1.x
https://github.com/spring-projects/spring-framework
2.下载 并安装 gradle
https://gradle.org/releases/
下载后是压缩包, 解压
解压后,配置环境变量,添加系统变量
变量名:GRADLE_HOME
值是解压目录
再在 Path环境变量中添加
%GRADLE_HOME%\bin
cmd打开控制台,输入gradle -v 校验
完成!
step2 导入Spring:
在IDEA中直接打开Spring源码项目
在 settings中设置gradle配置
在项目中设置JDK
打开项目下 build.gradle文件 替换 repositories中maven仓库地址,因为原地址太慢。
maven { url 'https://maven.aliyun.com/repository/central' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}
maven { url "https://repo.spring.io/plugins-release" }
然后刷新下gradle。等待idea下载依赖包。等待时间很长。。
下载完毕后,右侧就会出现所有项目
而且左侧的项目 会变成蓝色
step3:编译工程
编译spring-core
编译完成会打印successful
然后按照 core-oxm-context-beans-aspects-aop 顺序 同样以上图方式 编译。
新建一个module来测试
gradle的配置
然后可以在spring源码上打断点了