spring源码建设(读懂spring源码)
本文目录一览:
怎么搭建一个spring的源码工程
学习源码是一件非常耗时费力的事情,需要有足够的时间和持久的耐心,下面是我阅读郝佳老师的《Spring源码深度解析》所做的记录,书中以Spring3.2讲解,使用jdk1.7。
准备工作
1. 安装github:现在spring源代码都在github管理,所以首先需要下载githup,下载地址;
2. 安装gradle构建工具: 下载完后进行解压到任意盘符,然后增加环境变量GRADLE_HOME,并在环境变量bin中增加%GRADLE_HOME%/bin,打开DOS窗口,运行gradle -v,出现版本号等信息,表示安装成功;
3. 下载Spring源码:首先打开git shell,切换到你的工作目录,然后输入以下命令:git clone git://github.com/SpringSource/Spring-framework.git,后面一串是源码下载地址。大概半小时的样子,就可以下载完成,这时候在你的工作目录中就会出现Spring-framework的目录,里面有Spring各组件的源码包;
4. 构建导入:下载下来的代码不能直接导入Eclipse,要先转换成Eclipse能读取的形式。因为所有组件都会依赖spring-core,所有我们首先要转换Spring-core工程,在命令窗口切换到Spring-core工程,运行gradle cleanidea eclipse命令,我们会看到开始下载工程所依赖的jar包,几分钟后执行完毕,再来看Spring-core文件夹,多了.classpath、.project等文件,这是Eclipse工程所必须的,然后可以把他导入到eclipse。因为大部分Spring组件都会用到 spring-beans、spring-context、spring-aop,而他们又依赖spring-expression、spring-instrument,所以我们干脆先把这些工程都进行转换并导入eclipse。
我初次导入过程并不顺利,拿spring-core为例,其中以来的一个jar包是Spring-framework/spring-core/build/libs/spring-asm-repack-4.0.jar,但我工程里面并没有他,只好在网上下载了一个,并加入构建路径,其次我还发现少commons-pool-1.5.3.jar、spring-cglib-repack-3.0.jar,都一一下载,最后还是报错没有java.util.concurrent.ForkJoinPool类,发现这个版本必须使用jdk1.7以上,1.6没有这个包。折腾半天,终于几个工程没变异错误了,向前迈进了一步。
idea 建Springboot启动报错
一.读源码的目的
spring源码建设我们在开发过程中往往会运用一些市场上一些主流的框架spring源码建设,例如spring,hibernate ,strust 和mybaities 等。
spring源码建设我们往往可能有时候只知道运用,却不知道这些框架内部实现机制。这样我们就需要读这些框架的源码,方便我们更深入的去了解
和熟练的使用这些框架。这里我将介绍下intellij idea 13.1 开发环境下如何导入源码工程,以及拿到源码如何解读。以spring为例。
二、读源码的工具
开发环境spring源码建设:intellij idea 13.1
源码包:spring framework 来源于spring 官网,spring如今把代码托管在github上面,下载需要github上下载:
可以通过git clone 命令下载。
三、导入源码包
1.打开intellij idea 然后选择 file-import project 。
2,然后就会出现下面界面选择spring的根目录。
3然后出现。
4,点击gradle 再点击next出现:
再点击finish.就会出现下图:
gradle会一直去下载需要的gradle 包,这个过程是很漫长的。多则几个小时,界面不是很友好,看不到导入的进度,那么怎么办呢. 这个我也目前没有解决这个问题,大家如果找到了可以告诉我下。网上网友说可以需改gradle版本配置等方式解决这个问题,但是我曾尝试过,没有成功。
可以换种方式:我是这么做的 ,我会先把idea 项目转换成eclipse项目。在spring 根目录下面有这个目录结构:
这里的import-into-eclipse.bat 是windows下的批处理命令可以吧git项目修改成eclipse需要目录结构。
双机这个文件,
就会出现然后:
这里会下载所有需要等待的工程依赖包。下载完成就可以直接导入了。
在下载过程中spring源码目录下的结构是有变化的:如图:
会多出eclipse中工程目录文件等,而intellij idea 13.1 对eclipse项目完美支持。所以可以导入。
如何在idea上创建spring源码
选择springspring源码建设,勾上set up library later,勾上spring-mvc,记得project SDK要配置java环境
接着就是next,继续勾上spring-mvc
然后会出现填写package名称,还是项目路径,server服务器路径,基础包spring源码建设的设计;
这里要说application server,我选择tomcat路径
这里okspring源码建设了之后,就完成了,来点一下运行tomcat看会不会报错,
最后会自动弹出一张页面,上面写着Holle world!~说明spring源码建设你成功了。