概要
- 我们在撸Spring源码的时候,可以通过自己本地新建一个项目,把spring对应的依赖拉进来,如果我们采用这种方式学习源码,会有一个很大的弊端就是,不能修改源码,不能对每行源码添加我们自己的注释
- 所以,我们在撸spring源码前,先把spring源码下载到本地,环境先搭建好
一、下载spring源码
首先,我们去spring官网去看下spring官网地址
-
然后我们点击右上角的spring源码在GitHub的地址
-
进入GitHub之后,spring默认是在main分支上,我们准备看spring 5.2.6-RELEASE分支的代码
-
然后分支选择5.2.x,tag选择v5.2.6.RELEASE
然后我们把spring的代码下载下来,可以通过git clone的方式,也可以通过下载zip包的方式
二、gradle环境准备
-
因为spring使用的gradle构建的项目,所以我们本地需要安装配置好gradle,这个具体可以根据你自己的操作系统(win or mac)去进行配置,安装配置好了之后,使用gradle -version查看是否安装成功以及gradle版本号
三、将spring源码中的gradle配置进行更改
在我们下载好的spring源码目录下,修改对应的配置文件,从而使gradle为我们构建好spring源码
- 修改gradle.properties
version=5.2.6.RELEASE
## gradle编译时,会下载很多东西,建议内存调大点
org.gradle.jvmargs=-Xmx2048M
## 开启gradle缓存
org.gradle.caching=true
## 开启gradle并行编译
org.gradle.parallel=true
## 开启gradle守护进程模式
org.gradle.daemon=true
- 在settings.gradle中,添加阿里云地址配置,是gradle更好的下载资源包
pluginManagement {
repositories {
maven { url "https://maven.aliyun.com/repository/public"}
gradlePluginPortal()
maven { url 'https://repo.spring.io/plugins-release' }
}
}
apply from: "$rootDir/gradle/build-cache-settings.gradle"
3.修改build.gradle配置文件
repositories {
maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }
maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter' }
mavenCentral()
maven { url "https://repo.spring.io/libs-spring-framework-build" }
}
四、Intellij导入spring源码
-
构建完成之后,接下来,我们就可以正式的撸spring源码了
五、总结
我们先从spring官网找到spring源码在GitHub的位置,然后下载到本地
因为spring是使用gradle进行构建的,所以我们本地需要安装gradle
环境准备好之后,接下来,我们就一步一步的彻底吃透spring源码