这两天心血来潮,想去研究一下spring源码,一直听说spring源码是开源世界里最优秀的源码之一,出自很多大师的手笔。哈哈,话不多说,要阅读源码第一步当然是搭建阅读调试环境啦。我 的环境是intellij idea13.1
spring的源码目前放在github上,https://github.com/spring-projects/spring-framework
第一步:安装git,配置环境变量
第二步:打开gitbash,cd到你要放置spring源码工程的目录,输入:git clone https://github.com/spring-projects/spring-framework.git 等待下载完毕
第三步:由于下载的是最新的spring4.x工程,要求jdk1.8+。所以必须更新jdk8,设置好环境变量。不然后面会各种报错
第四步:安装gradle,配置环境变量。
第五步:预编译spring-oxm模块,官网说:Pre-compile `spring-oxm` with `./gradlew cleanIdea :spring-oxm:compileTestJava`,即打开cmd,切换到spring-framework工程目录下,运行:gradlew cleanIdea :spring-oxm:compileTestJava。
第六步:开始导入工程,File->import project->选中spring-framework工程->import from external model->Gradle->finish经过一段时间项目导入成功
第七步:设置project sdk为1.8,右键project->open module settings->sdks->点+号新建jdk1.8,找到jdk1.8的路径,再选中project选项卡,设置project sdk为1.8,注意下面的project language level要选8.0
第八步:File->Project Structure->Modules删除掉spring-aspects模块。原因是`spring-aspects` does not compile out of the box due to references to aspect types unknown to IDEA.See http://youtrack.jetbrains.com/issue/IDEA-64446 for details. In the meantime, the 'spring-aspects'should be excluded from the overall project to avoid compilation errors.
第九步:done!开始鉴赏最优秀的源码吧!
在学习Spring的时想了解一些重要接口和类的源码,本文讲述了Spring工程的下载和在IDEA上打开的操作,共需要以下几步:
1. 安装JDK;
2. 安装gradle;
3. 下载spring源码;
4. 切换到4.1.x分支;
5. 用IntelliJ IDEA导入;
接下来准备开始吧;
原文地址:http://blog.csdn.net/boling_cavalry/article/details/79426075
版本参考
以下列出我本次实战用到的各个工具的版本,以供您参考:
1. 操作系统:win10
2. Git Bash版本2.15,并且已配置好账号信息,可以正常执行git命令;
3. JDK:1.8.0_111
4. gradle:2.14.1(不要用4.x版本,会提示找不到插件”sonar-runner”)
5. IDEA版本如下图:
安装JDK
这个就不多说了,记得要配置环境变量JAVA_HOME;
安装gradle
在此下载:http://services.gradle.org/distributions/;
下载gradle-2.14.1-bin.zip文件并解压;
设置环境变量GRADLE_HOME,值是解压后的gradle-2.14.1文件夹的目录;
将gradle-2.14.1/bin的路径添加到PATH中;
在控制台执行gradle -version可以看到以下信息,表明安装和设置成功:
C:\Users\12167>gradle -version
------------------------------------------------------------
Gradle 2.14.1
------------------------------------------------------------
Build time: 2016-07-18 06:38:37 UTC
Revision: d9e2113d9fb05a5caabba61798bdb8dfdca83719
Groovy: 2.4.4
Ant: Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM: 1.8.0_111 (Oracle Corporation 25.111-b14)
OS: Windows 10 10.0 amd64
1
2
3
4
5
6
7
8
9
10
11
12
13
下载spring源码
登录GitHub;
spring项目的地址是:https://github.com/spring-projects/spring-framework,点击右上角的Fork按钮,如下图:
Fork成功后网页会自动跳转到新的项目主页,如下图,点击红框1和红框2,复制新项目的git地址,例如我这里的地址是:https://github.com/zq2599/spring-framework.git;
打开命令行终端,执行以下命令开始下载:
git clone https://github.com/zq2599/spring-framework.git
1
5. 在spring-framework文件夹下,执行git branch -a查看分支列表,如下:
12167@zhaoqinwin10 MINGW64 /d/study/spring-framework (master)
$ git branch -a
4.0.x
4.1.x
* master
remotes/origin/3.0.x
remotes/origin/3.1.x
remotes/origin/3.2.x
remotes/origin/4.0.x
remotes/origin/4.1.x
remotes/origin/HEAD -> origin/master
remotes/origin/beanbuilder
remotes/origin/conversation
remotes/origin/gh-pages
remotes/origin/master
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
6. 执行命令 git checkout 4.1.x切换到4.1.x分支;
用IntelliJ IDEA导入工程
打开IntelliJ,点击Import Porject按钮,如下图红框:
选中spring-framework文件夹;
选择”Import project from external model“,再选中”Gradle”,如下图,点击”Next”按钮:
接下来的页面是一些配置信息,选择如下图,注意要确保Grandle和Jdk的设置是有效的:
等待IDEA导入和构建完成,这里比较耗时,因为要下载一些依赖库,如下图:
看源码和类图
导入完成后,就可以愉快的阅读源码了,遇到重要的类和接口可以用IDEA自带的类图工具查看类图和继承关系,操作方法是在源码上右键选择”Diagrams -> Show Diagram”,更详细的操作请参考《用IntelliJ IDEA看Java类图》;
几个特别说明
源码文件夹下的import-into-idea.md文件中,说要先执行命令./gradlew cleanIdea :spring-oxm:compileTestJava再用IDEA导入工程,经过实测不需要执行此命令,就按前面的步骤直接导入工程也没问题,当然前提是您的IDEA版本和我的一致或更高;
gradle版本请用2.14.1,此版本可以构建成功,我试过4.6版本,会提示找不到插件”sonar-runner”;
我也试过在导入时选择“Use gradle ‘wrapper’ task configuration”,如下图,也会导入失败,提示“Could not determine the class-path for interface org.jetbrains.kotlin.kapt.idea.KaptGradleModel.”:
---------------------
作者:博陵精骑
来源:CSDN
原文:https://blog.csdn.net/boling_cavalry/article/details/79426075
版权声明:本文为博主原创文章,转载请附上博文链接!