Zeelam's Blog.

Spring源码探究-1

字数统计: 622阅读时长: 2 min
2019/05/12 Share

为什么要读Spring的源码

作为一个Java程序猿,Spring在日常工作中扮演着极其重要的左右,作为Java开源框架中的第一开源框架,Spring在Java EE中有着极为重要的地位。所以,其实不管网上对读Spring框架有什么争议,我认为都是要读一读的,一方面可以更好的理解现在手上代码的实现原理,一方面可以学习程序设计的思想和写代码的一些方法。除此之外,以后说不定要自己写框架呢?或者参与开源框架的开发呢?了解Spring,则能更好的写出优秀的代码来。

搭建环境

需要读Spring的源码,那必须要先下载到Spring的源码,而Spring是开源在GitHub上的,并且基于Gradle来构建,所以要看Spring源码,就必须有GitHub和Gradle。

由于我是mac,所以我就使用brew来安装了(当然,我本来就有这两个软件…逃)

1
2
3
4
5
# 安装git
brew install git

# 安装gradle
brew install gradle

GitHub的话,mac还有他的一个桌面App可以用,可以去下载下来:

图标长这样。

接着就可以去下载Spring了。

1
2
3
4
# 首先先给要下载的Spring源码创建一个文件夹
mkdir read_spring_code
# 然后进入这个文件夹,并使用git clone一下源码
git clone git://github.com/SpringSource/Spring-framework.git

很快,就会发现read_spring_code文件夹下又多了个文件夹,叫Spring-framework,而这里面就是Spring的源码

编译Spring源码

但是这里的源码并不能直接使用IDE打开,需要编译后我们才可以用IDE去编辑和调试。首先打开README.md,里面告诉了你不同的IDE如何编译。

在README.md中我们找到了

实际上,观察的比较仔细的人就会发现,我们刚刚的文件夹中,就存在着CONTRIBUTING.md和另外两个markdown文档,分别是import-into-eclipse.md和import-into-idea.md

由于我这里使用的是IDEA,所以我就根据import-into-idea.md中的步骤来:

  • 预编译spring-oxm 模块 ./gradlew :spring-oxm:compileTestJava
  • 导入到IDEA (File -> New -> Project from Existing Sources -> 到Spring-framework那个文件夹 -> 选择build.gradle)
  • 排除spring-aspects 模块

导入到IDEA的时候,会出现一个框,直接点OK就好了,然后就是等待…

等到Build结束后,把spring-aspects模块排除,就大功告成了

目录
  1. 1. 为什么要读Spring的源码
  2. 2. 搭建环境
  3. 3. 编译Spring源码