迈出Spring源码研究的第一步——环境搭建

1 篇文章 0 订阅
1 篇文章 0 订阅

迈出Spring源码研究的第一步——环境搭建

开场白

此乃开博第一篇也。
在程序员这个行业中也干了不少的时日了,前端、后端都有所涉及。但是有时想想,自己能算的上是一个“资深”的程序员吗?仔细想想,唔,貌似不算。
我认为,自己最多算得上是一个比较“肤浅”的程序员。在现在开源的汪洋大海中,各种优秀的开源框架百花齐放,百家争鸣。但是自己又对哪个框架有过深入的了解呢?可以负责任得说,一个都没有!!!
这几年下来,我接触过的优秀框架也不少了,Spring, SpringBoot, Hibernate, Hadoop, MyBatis,都涉及过一些。但是最多也就是“拿来主义”,拿过来用用罢了。至于这些优秀框架的源代码,则是一行都没有看过。
我觉得这是不对的!是时候要改变一下了!我要迈向资深的道路!!!
我觉得这是不对的!是时候要改变一下了!我要迈向资深的道路!!!
我觉得这是不对的!是时候要改变一下了!我要迈向资深的道路!!!
好吧,不感慨了,说干就干。
既然决定干,那就选个有挑战的吧。
一直觉得Spring不错,俨然已经成为了J2EE业界的标准了,而且在这几年的开发过程中对Spring的接触也是最多的,还算有些基础。唯一困难的一点就是Spring本身在所有的开源项目里算是比较难的。难就难吧,算是对自己的一个挑战吧。

言归正传

工欲善其事,必先利其器。
既然要研究Spring,首先当然是对Spring源码的获取以及开发环境的准备啦。

一、开发工具

当前,Spring开源项目已经从以前的SVN迁移到了GitHub上了,而且构建项目的工具也改为了Gradle。所以在获取源码以前,我们首先需要将Git已经Gradle这两个工具准备好。
至于IDE,我选择了Eclipse。一是个人习惯问题,二是Eclipse本身也是一个比较优秀的开源IDE,既无License之忧,而且插件也比较丰富,强烈推荐。
至于这几种开发工具以及IDE的安装,想想网络上相关的帖子一抓一大把,这里就不做详细的介绍了。
以下是开发工具的下载地址,请自行下载安装:
GIT: https://git-scm.com/downloads
Gradle: https://gradle.org/install/
Eclipse: https://www.eclipse.org/downloads/

二、Spring源码获取

现在Spring的源码已经被托管到了GitHub上了,源码的获取地址为https://github.com/spring-projects/spring-framework,请大家自行获取。
Spring
在此做一广告,我从Spring官方仓库Fork了一个版本并基于这个版本创建了一个yl-comments的分支,并打算在今后的学习中把自己的一些感想以注释的形式记录下来并且push到这个分支上,希望有兴趣的博友可以关注。
我个人的分支为 https://github.com/long800110/spring-framework

三、 Eclipse项目的的创建

按照官网上Readme的推荐做法,我们可用通过执行
./gradlew :spring-xxx:compileTestJava
的方法对每一个需要转换为Eclipse项目的子项目进行预编译处理。
在这里插入图片描述
但是在实际的操作过程中,我们会发现这一步骤的执行过程那是相当的慢,特别是在网速慢的情况下更是如此。而且在编译的过程中一旦发生错误我们还不得不重新进行编译。
在此,我们可以秉承“用多少转多少”的原则,只对我们感兴趣的工程进行Eclipse工程转换,这样可以大大的缩短对工程预编译的时间,让我们尽快的将我们的精力投入到对Spring代码的研究中去。
具体的操作方法为首先cd到对应工程的目录下,然后执行gradle cleanidea eclipse命令对该工程进行Eclipse转换即可。
下面以spring-beans为例进行演示。
该命令主要做了以下几件工作。

  1. 将项目所需的jar文件通过gradle下载到本地。
  2. 创建.project文件,供Eclipse使用。
  3. 创建.classpath文件,建立起该项目于其他Libaries以及Projects的依赖关系。
    在该命令执行完成后,我们会发现在工程的文件夹下会多出.project.classpath两个文件,而这两个文件正式我们将该工程import到Eclipse的基础。
    在这里插入图片描述

将项目import到Eclipse中

打开Eclipse,将该工程导入,即可在Eclipse中看的如图所示的工程啦。
在这里插入图片描述

但是,我们会发现在工程的图标上有一个大大的红色叹号,这说明工程还是存在着错误的。打开Java Build Path窗口,我们发现原来还有几个与该工程有依赖关系的工程还没有被引入进来。
在这里插入图片描述

进入到有依赖关系的工程下,继续执行gradle cleanidea eclipse命令,将编译后的工程导入到Eclipse,直到所有缺失的依赖被引入到项目中,至此,我们的Spring源码就成功的被导入到Eclipse中了,开始我们的Spring探索之旅吧。

结语

原本没有想写博客的,但是就怕自己坚持不下去,才决定以写博客的形式来督促自己。
也希望广大博友给我支持,给我勇气和信心。
相信阳光总在风雨后,只要坚持,必获成功。
加油~

崔元龙 · 2018年12月4日 · 於津

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值