Spring源码深度解析系列(一)——导入源码搭建环境

以下文章字数大约1600字,阅读时间须要15分钟左右。java

前言:git

若是提起Spring框架,可能你会很是熟悉,曾经或者如今都使用过。github

可是,可能不多人阅读过Spring源码。spring

最近也在思考,若是做为开发人员来说,什么才是其核心竞争力。架构

我的感受,随着工做年龄的增加,对java底层原理了解越透彻对于我的来说越重要。框架

了解底层原理,清楚架构逻辑实现这远比会使用架构更具核心竞争力。由于,就算一个新框架东西不熟悉,你仔细看看用用也会熟练使用了,别人也是同样很快掌握。eclipse

读优秀框架的源码就是其中一个比较有效提高自个人途径,而,spring源码是其中比较好的方式之一。ide

准备软件工具

一、安装git或者从Github上面下载源码到本地,网址为:https://github.com/spring-projects/spring-framework/源码分析

本人版本为5.1.2.

二、安装gradle。下载地址:https://gradle.org/releases/

gradle的做用为将源码spring的项目转成eclipse可用的工程。

导入源码以及搭建环境

一、下载源码

源码从github上下载后,解压到本地便可。可仔细观察相关源码,此时eclipse等工具还不能导入,每一个项目中没有eclipse可识别的.classpath和.project文件。源码须要使用gradle工具进行转换。

如图为下载后spring源码内容:

二、配置gradle

将gradle下载后,解压安装。须要配置环境变量。自行百度。

gradle安装成功的标志是在cmd中输入命令 gradle -v 显示内容。本人版本时4.9。

如图:

图片

三、源码转换

由于源码较多,这里不建议一块儿将全部项目统一转换。本人采用部分转换的方法,即用到哪部分转换哪部分的原理。

对于spring源码第一部分先分析bean的机制,因此这里只转换spring-beans项目以及其依赖的spring-core和spring-jcl项目。

这里以转换spring-beans项目为例。

打开cmd控制台,切换到当前文件路径下,执行命令:gradle cleanIdea eclipse

输出日志以下:

图片

图片

图片

转换完成后,对应项目中生成了eclipse工程中必须的.classpath与.project文件。

图片

下面就能够将相关文件进行导入eclipse的操做了。

填坑操做

一、相关关联项目导入后,后看见相关依然报错:

图片

即:spring-cglib-repack-3.2.8.jar和spring-objenesis-repack-3.0.1.jar不存在

解决方法:

在spring-framework目录下执行gradle cglibRepackJa和gradle objenesisRepackJar命令,会在Spring-frameworkspring-coreuildlibs目录下生成相关jar。

图片

图片

图片

二、可能代码中发现以下错误:GroovyDynamicElementReader类不存在,是由于eclipse没有安装groovy插件。

图片

在eclipse的 Help -> Install New Software 中,添加groovy的下载链接

http://dist.springsource.org/milestone/GRECLIPSE/e4.4/

而后全选后,开始下载,下载完后,重启eclipse,而后clean一下项目就搞定了。

三、其余

项目还须要跟jdk匹配,这点须要特别注意。

至此,将spring源码下载到本地并适配到开发工具中了。

总结:Spring源码分析文件相关内容会陆续更新,欢迎关注。

已上内容,纯属一家之言,因本人能力通常,见识有限,若有问题,请不吝指正,感谢。

相关文章
相关标签/搜索