好长一段是时间不知道学什么好,起初看过些开源框架源码,几乎全是一扫而过,根本看不进去,spring源码我记得还是今年初开始看的,是死磕spring的系列博客,公众号是java驿站,开始的看的云里雾里的,后续也放弃了.就在前段时间这个想法又萌芽了.决心自己也死磕下spring.
1,首先我们先准备下环境jdk需要1.8及以上,下载源码.
git地址:https://github.com/spring-projects/spring-framework
2,推荐IDE为idea 需要安装gradle 我安装的是最新版的5.4.1 下载地址:https://downloads.gradle.org/distributions/gradle-5.4.1-bin.zip 下载本地直接解压即可,然后配置好环境变量
3,在本地找到spring源码点击 gradlew.bat 这是个漫长的过程, 如果本地没有安装gradle可能时间更长.
4,编译时可能会出现报错缺包情况,参照官网给的方法即可 https://github.com/spring-projects/spring-framework/blob/master/import-into-idea.md
依次执行gradlew :spring-oxm:compileTestJava gradlew :spring-oxm:genCastor gradlew :spring-oxm:genJaxb
此过程会有点长,gradle在下载jar依赖
注 : 如果运行单元测试出现 InstrumentationSavingAgent 不存在的错误,将对应的的spring-*.gradle中的
修改完成后,Gradle 又会自动 Build 项目,下载相关依赖,在运行单元测试即可
SPRING IOC 大致分为 定位,加载,解析,注册这四大步骤,后续重点围绕这四个步骤来分析,如果有错误之处欢迎留言之处