Dive into Spring framework -- 搭建spring 源码的开发环境

 spring是一个类之间依赖的管理容器,你们都知道,但咱们中不少人都仅仅停留在使用的层面,但spring自己具备极大的研究价值,因此在使用了几年spring以后,仍是想深刻的探究一下其根源。记录于此,愿与各位共享。html

spring有不少功能模块,从spring的官网doc 咱们能够看到其分了29个部分,固然主要内容是从chapter 5 IoC开始的。如今来讲明一下接下来要各个部分,咱们要分析的内容。对于每一个大的模块,咱们会深刻分析各个模块的源码,深刻理解这些实现方式,并经过scala来实现一个山寨的框架,用Scala是不想直接抄袭,能够说是照葫芦画瓢。刚刚说了,spring是个大集成,她不单单有设计良好的各个模块用以支撑各种之间的dependences,而且有支持不少其余框架的接口模块,这个对咱们来讲是额外的收获,因此在后面的各个模块中,其余的那些第三方框架,咱也不会落掉任何一个,理解他们咱们能够更加深刻的理解spring是如何包容第三方框架。尤其可喜的是spring在尽力支持第三方框架的最新版本。能坚持下去,咱仍是能有点收获的。java

spring的开放源码在GitHub上,别跟外国人客气,尽情的去把他们的优秀的成果down下来。这里要特别说明一下如何将spring源码导入到Eclipse。 linux

如今spring把源码各个模块里面的pom文件都删除了,咱们就不能直接用maven来导入了,pity! 他们如今使用gradle来管理项目。 git

第一步是搭建你的gradle环境:github

Eclipse的gradle插件的update site: http://dist.springsource.com/release/TOOLS/gradle,只须要选择“extensions / gradle integration”. 经过Eclipse --> Help --> Install New Software... 来安装。耐心的安装上plugin以后,去下源码,git clone https://github.com/spring-projects/spring-framework.gitspring

download完成后,先别急导入到Eclipse,看看github项目里面说的,配置prerequisites:须要git和jdk8(Git and OpenJDK 8 early access build 100 or later
),请注意那里面的提示:必定要把JAVA_HOME指向jdk1.8.0.框架

接下来进入源码路径, 运行import-into-eclipse.sh(linux/Mac).这一步你就照着提示作下去就能够了。比较苦逼的是可否一次性把全部依赖包都下下来,若是不能一次性获得最终的complete提示,你就多试几回吧。我就碰到好几回运行到中途就卡住了,一直在build一个模块,实际上就是在下载对应jar依赖包。因而我就取消(ctrl+c),再从新运行,用了一个晚上终于成功看到了最后complete的提示。eclipse

设置Eclipse的jdk环境变量,这里就很少说了,可是将默认的选择成jdk1.8.0. maven

如今能够导入到Eclipse了,在workspace里面import-->Gradle --> Gradle project, 选择你的spring源码路径,会有提示说要build model,那就build吧。gradle

build完成后,把run before 和run after两个选项去掉,finish!

一切都成功的话,你会看到各个模块都是有包结构的,不然就会有不少编译错误。 Wish you good luck!


若是有什么问题,尽情留言,咱怎么的也能解决掉,你说呢?

转载请注明出处。

相关文章
相关标签/搜索