阅读Spring源码,我们可以通过以下两种方式:
- 直接在Idea/Eclipse上创建自己的java maven/gradle项目,导入Spring特定版本依赖Jar和源码,直接运行测试代码,逐步调试阅读
- 从github直接获取Spring源码项目,基于Spring源码项目,创建自己的子模块,进行本地项目的Spring源码调试。
对于方式一的好处是可以方便快捷地开始阅读Spring源码,但由于源码来源于Jar包,无法在阅读过程中在源码里添加注释。
对于方式二,虽然开始操作比较麻烦,但后续我们可以基于版本管理随意地对本地项目源码进行修改、添加注释等相关操作。
下面基于方式二,搭建Spring源码阅读环境。
操作步骤
获取Spring源码
- 安装git组件,可以从官网下载,根据官网进行安装。
- 从github拉去Spring源码,切换到要阅读的版本分支,这里以阅读3.2.18.REALEASE为例。
git clone https://github.com/spring-projects/spring-framework.git
cd spring-framework
git checkout -b v3.2.18.RELEASE
至此代码检出完成
配置Idea测试环境
Spring源码基于Gradle管理,在此之前需要安装 Gradle,这个不多说,下面基于Idea进行示例操作:
首先导入我们的项目到Idea,选择Import Project,然后找到spring-framework文件夹,选中打开项目,导入完后,添加Gradle相关特性,等待Spring项目编译完成
项目右键->New->Module,基于Gradle-Java 点击Next,如下图:
基于Spring子模块,GroupId和Version全部继承,然后输入ArtifactId,如下所示,再点击Next,确认模块名和项目路径后,最后点击finish。
最后再创建的项目模块下,修改build.gradle文件,根据自己需要添加所需Jar,注意通过compile(project(":spring-beans"))
等引入本地项目依赖,方便在调试的时候调用本地Spring项目源码,配置如下所示: