1. 概述
Spring是一个轻量级Java开源框架,在Java项目开发过程中已经离不开Spring全家桶了,包括Spring、SpringBoot、SpringCloud等,学习好Spring基础源码也有助于更好在项目中使用Spring相关组件,在学习源码前需要搭建好源码学习环境
2. 环境说明
组件 | 版本 |
---|---|
Spring | 5.3.x |
JDK | 11 |
Gradle | 7.5.1 |
Idea | 2022.3 |
3. 下载
输入GitHub官网地址,并在搜索框搜索spring关键字
找到spring-framework项目
选择5.3.x版本
点击code获取下载链接
注意:如果下载ZIP包,运行时会报Process 'command 'git'' finished with non-zero exit value 128
错误,需要自己初始化gitb本地代码库
打开Git Bash客户端,输入命令git clone https://github.com/spring-projects/spring-framework.git
进入spring-framework目录,checkout到5.3.x分支
4. 编译
在spring-framework目录执行命令./gradlew :spring-oxm:compileTestJava
会报method.isAccessible() && !KCallablesJvm.isAccessible(function)过期错误
打开CoroutinesUtils类,在方法invokeSuspendingFunction上加上注解@SuppressWarnings("deprecation")
再次执行命令./gradlew :spring-oxm:compileTestJava
,看到BUILD SUCCESSFUL表示编译成功
将代码导入Idea中,配置Gradle,另外还需要配置JDK为11
剔除spring-aspects模块
选择spring-aspects模块,点击Unload
Idea导入spring-framework源码后会自动构建,看到下图所示的BUILD SUCCESSFUL表示构建成功