1.2 Spring环境搭建--Spring源码深度解析

前言:

  Spring 的源码已经从 svn 迁移到 GitHub。而且也改为基于 Gradle 的构建来构建项目。它取代了之前的 Ant+Ivy 系统,所以要构建 Spring 源码环境首先要安装 GitHub 以及 Gradle。

安装 GitHub

  Windows 系统对应的 GitHub 版本下载地址为: https://desktop.github.com/ (http://windows.github.com/ 自动跳转)。如图所示:

    

    下载、安装,开始菜单上 GitHub 菜单,如图:

      

安装Gradle

  笔者不推荐使用gradle构建项目,使用时没有maven好控制。

  Gradle 是一个基于 Groovy 的构建工具,它使用 Groovy 来编写构建脚本,支持依赖管理和多项目创建,类似 Maven,但比其更加简单轻便。

  Gradle 为 Ivy 提供了一个 layer,提供了 build-by-convention 集成,而且他还让你获得许多类似 Maven 的功能。

  Gradle 的下载地址 (http://www.gradle.org/downloads),如图所示

    

  下载后将文件解压放到制定目录中,然后开始进行环境变量的配置。

    根据对应目录创建 Gradle_Home 系统变量,详情如下图

    将系统变量加入到 path 中,详情如下图

             

        创建对应于Gradle的系统变量                  将Gradle对应的系统变量加入path中

    测试

      当完成系统变量的配置后打开命令窗口输入命令 “ gradle -version ”,如果出现Gradle对应的版本信息,表示安装成功。

        

使用github下载Spring(不推荐使用这种方式)

  单击快捷菜单中的 Git Shell 选项,打开 GitHub 后,可以通过 cd 命令将当前操作目录转换到我们想要存储源码的目录。

    例如:e: est ,执行命令 cd e: est

  输入以下命令:

    git clone git://github.com/SpringSource/Spring-framework.git

  其中,git://github.com/SpringSource/Spring-framework.git 为Spring的源码地址。执行命令后便进入源码下载状态。

    

  经过一段时间的等待后源码下载结束,窗口状态如下图

    

  而这时,对应的文件夹下已经存在相应的源码信息,如下图所示。

    

使用gradle构建项目

  但是当前的源码并不可以直接导入 Eclipse 中,我们还需要将源码转换为 Eclipse 可以读取的形式。

  可以将所有工程一次性的编译、导入。但是不推荐这样的方式,这样会耗费大量的时间,而且当存在编译错误的时候,你不得不重新编译。

  可以只对感兴趣的工程进行 Eclipse 工程转换,比如我们想要查看 Spring 事务部分的源码,打开命令窗口,将当前目录切换至源码所在目录,这里是 Spring-tx文件夹下,执行命令 gradle cleanidea eclipse 。当窗口出现如下状态说明已经开始执行转换过程,如下图:

    

  经过一段时间后转换成功,如下图所示

    

  这时,我们再查看对应的文件夹会发现,已经出现了作为 Eclipse 工程所必须的 .project 和 .classpath 文件了,如下图所示

    没有编译过的

    编译之后的

  打开 Eclipse,将工程导入,导入后目录结构如下图

    

  你会发现工程名称前面有一个感叹号,这说明项目存在错误。查看依赖及工程,会看到当前工程所依赖的包出现问题。如下图

    

  但是,查看依赖的 Projects 时发现,

     

    依赖的包出现问题,笔者自己从网上找的依赖包导入的。

    依赖的项目出现问题,只需要把需要的几个项目编译之后导入就可以了。

 从网页上下载spring源码

  进入github网页: https://github.com/ ,如下图:

    

    在 Search GitHub 搜索栏中输入 Spring-framework ,跳转页面后第一个项目 spring-projects/Spring-framework 就是我们要找到Spring源码。

      

    点击进入,选择右侧的Download Zip按钮,进行下载

       

    将下载到本地的压缩文件,解压到指定位置。目录结构如下图:

      

原文地址:https://www.cnblogs.com/chuzh/p/4996976.html