目标:搭建起Spring源码阅读和代码调试跟踪的环境,顺便建立一个简单的Demo,能够调试Spring的源代码
本节,主要介绍一下Spring源码阅读和调试的相关环境搭建,并使用MVN创建一个非常简单的Demo,以便可以跟踪和调试Spring的内核。
1、源码的下载
Spring的源码可以从GitHub上下载:https://github.com/spring-projects/spring-framework
2、Spring源码的编译
Spring源码下载下来后,我这里比较习惯,先编译出来,而不是直接导入到相关的 IDE。大型的开源项目都是借助于自动化构建工具实现编译打包的,因此先编译有个好处,就是编译过程中,会自动的下载相关的依赖。现在大部分项目编译过程中出现的问题,首先都归结到项目依赖的问题。
①、编译环境
A、操作系统:我的源码和相关开发环境,都是在 mac 下的
B、JDK:安装好JDK1.8
C、由于Spring源码是采用Gradle这种自动化构建工具构建的,因此需要安装 Gradle ,安装过程就不多说了。
D、我使用的IDE是 IntelliJ IDEA,因此,需要安装 IntelliJ IDEA 旗舰版,免费30天
②、源码编译
在源码编译环境准备好后,编译源码之前,请先仔细看一下 Spring源码目录下的 README.md、import-into-idea.md 这两个文件。 README.md中,告知了整个编译过程和需要注意的地方。如果你使用Eclipse作为IDE的开发工具,那直接运行./import-into-eclipse.sh 或者 ./import-into-eclipse.bat ,就可以把源码导入到Eclipse中,如果使用IDEA作为开发工具,那么需要认真阅读 import-into-idea.md,它告诉了你导入IDEA的步骤。
A、先进入 …/spring-framework 目录,执行 ./gradlew :spring-oxm:compileTestJava 先对 Spring-oxm 模块进行预编译。
B、还是在 …/spring-framework 目录 ,执行 ./gradlew build -x test 编译,整个Spring的源码。 后面的 -x test 是编译期间忽略测试用例,需要加上这个,Spring的测试用例,有些是编译不过的。编译过程时间,会随着网络的畅通程度而不同。
③、源码导入IDEA
编译通过后,就可以把源码导入到 IDEA中了
在IDEA中 File -> New -> Project from Existing Sources -> Navigate to directory ,选择Spring源码目录,导入,然后IDE