1、源码拉取
github上Spring源码仓库
避免有时github访问慢,可以将项目导入到自己的gitee仓库
2、gradle版本选择
选择check的分支对应的gradle版本
在gradle/wrapper/gradle-wrapper.properties文件中查看当前gradle版本
3、下载安装gradle
gradle下载安装参考另一篇文章:
4、idea配置gradle
将转存到gitee中的spring项目clone到idea中,对该项目设置gradle配置
File=》Settings=》Build=》Build Tools=》Gradle
5、配置build.gradle
注意:调试时check与前面gradle版本一致的分支
此时直接编译spring会导致报错,提示找不到插件依赖(国外的依赖源可能访问不到)
我们需要在build.gradle添加为国内的仓库源:
maven { url "https://maven.aliyun.com/nexus/content/repositories/spring-plugin" }
maven { url "https://maven.aliyun.com/repository/gradle-plugin" }
maven { url "https://maven.aliyun.com/repository/public" }
6、Reload
重新加载所有的依赖
提示成功,即可开始源码调试之旅
7、源码调试
7.1、新建测试module
创建一个自己的module,选择gradle项目
注:JDK请选择自己check的Spring分支所对应的版本
7.2、编写测试模块
1、在自己的module中的build.gradle配置文件中引入spring-context依赖
2、添加一个需要被spring管理的bean
3、将Appconfig交给应用上下文,开启源码调试之旅
如何学习Spring源码?
学习源码前置知识:
1、有spring框架使用经验
2、熟悉常用设计模式(单例、工厂、模板方法、代理等)
学习源码带着问题学习
反复学习,多搜集相关文档
如果无头绪,推荐阅读《Spring源码深度解析》
参考:https://www.zhihu.com/answer/359268420
参考:https://developer.aliyun.com/mvn/guide