spring boot是基于spring framework封装的,所以spring boot框架的源码主要就是spring framework框架
下载源码
执行命令
git clone https://github.com/spring-projects/spring-framework.git
下载源码,效果如下:
导入idea
在idea中打开项目,然后gradle会自动完成依赖下载
安装cglib和objenesis包
cglib参考:https://github.com/cglib/cglib/wiki
objenesis参考:https://github.com/easymock/objenesis
在idea中单击Build菜单,然后选择Build Project尝试编译整个java项目
项目提示找不到org.springframework.cglib
这个包
展开gradle控制面板,执行cglibRepackJar和objenesisRepackJar任务就可以把缺失的jar补回来了
安装aspectj包
aspectj下载参考:https://www.eclipse.org/aspectj/
eclipse git地址:https://git.eclipse.org/c/aspectj/org.aspectj.git/
github地址:https://github.com/eclipse/org.aspectj/releases
作者在写此文时aspectj官网的下载页面暂时打不开了,如果一直打不开,可以使用下载这个备份:aspectj1.9.zip
重新执行idea的Build Project
可以看到项目继续提示缺少org.springframework.beans.factory.aspectj
包
下载aspectj安装后记下安装目录,然后打开idea设置面板,设置java编译器微ajc
这样aspectj依赖就可以找到了
重新Build Project
可以看到报新的oxm
包错误了,打开gradle控制面板,执行下面的命令
就可以解决oxm的问题了
重新Build Project,效果如下
可以看到,至此,所有错误均被解决了,以后就可以开始在idea里调试spring framework源码了
运行测试
比如ObjectUtils工具类(spring-core/src/test/java/org/springframework/util/ObjectUtilsTests.java)中的isEmptyCharSequence测试方法
点击测试方法左边的绿色三角按钮运行测试
可以看到测试通过了
一些注意的点
aspectj安装包其实就是一个压缩包
持续更新...