Spring4.3.12源码阅读系列:1-环境搭建
来源:互联网 发布:淘宝陆战吉姆 编辑:程序博客网 时间:2024/06/05 23:51
学习任务
近期想增加部分源码阅读经验,提高自己在造轮子方面的实力,增长些在设计模式应用方面的编码能力,以及怀着向大佬们膜拜的心情,开始有计划地阅读Spring源码
前期准备
以下几项准备事项,算是基本的日常开发环境,就算没有,也是动动手很快安装好的,这里就不啰嗦详细记录了。
若安装存在困难的,可以尝试百度解决:请相信自己可以做到的!
- JDK 1.8 安装及其环境配置(略)
- Eclipse Mars 2 的安装(略)
- Git客户端安装(略)
- Gradle 安装及其环境变量配置(略)
搭建过程
1. 下载源码
访问 spring-framework 项目官方源码网站,查看版本Release日志,选定比较稳定合适的版本来分析学习:
Spring源码的git地址:
https://github.com/spring-projects/spring-frameworkSpring Release版本:
https://github.com/spring-projects/spring-framework/releases
本文选取最近发布的:v4.3.12,进行后续的源码阅读:
# 获取源码cd d:\Programs\spring\spring-srcgit clone https://github.com/spring-projects/spring-framework.git# 根据网速,上面这一步可能相当慢# 查看远程分支git branch -r# 创建切换本地分支git checkout -b 4.3.x origin/4.3.xgit pull
2. 导入Eclipse
这样下载后的源码,并不可以直接导入Eclipse中使用,还需要将源码转化为Eclipse项目后,才可以导入。
转换命令是:
cd spring-frameworkgradle cleanidea eclipse# gradle 转换时,可能出错,但作者一次就过了,所以,只能略略略地不好意思啦
当然,也可以不用这样转换所有的spring项目,而只是转换某个子项目;本文采用一次转换全部子项目的做法。
转换成功后,当然就是按部就班地启动Eclipse然后导入了:
Import -> Existing Project … -> Select Root Directory -> check Option: Search for nested projects -> Finish
3. 解决项目依赖错误
spring源码项目导入后,会首先遇到项目依赖错误的问题,我遇到的存在依赖问题的子项目有:
- spring-core
- spring-beans-groovy
- spring-web
- spring-oxm
- spring-test
- … …
解决办法:
step 1:打开项目的属性页面,找到构建路径项(build path),查看是否缺少jar包依赖,定位到子项目,然后gradle构建之;在解决spring-core的依赖问题时,就是需要这样做:
cd spring-coregradle build
step 2:按step 1能解决spring-core,spring-oxm等子项目的依赖问题,但spring-beans-groovy依然会存在问题。此时,打开报错的代码,根据出错提示,setup project,添加项目依赖:spring-beans,问题得到解决;
如果依旧得不到解决,可以在build path -> libraries 页面中,添加缺少的依赖jar,jar包一般位于子项目的build\libs下;
其它子项目类似。
4. 解决源码错误
按照上一步操作后,依然还有部分子项目存在错误;打开报错的代码,发现基本上是test项目中的报错问题,根据报错提示的推荐,能解决问题;
我遇到的情况基本上是:
- Mock类中,存在未实现的接口方法; # 增加空白的实现方法可解决报错;
- TestCase中,import语句造成的方法名模糊; # 重新组织导包语句可以解决之;
到此,源码阅读环境搭建完成!
开始艰苦的源码阅读之路!加油!
- Spring4.3.12源码阅读系列:1-环境搭建
- Tomcat源码分析环境搭建(Tomcat源码阅读系列之一)
- 0. Spring4.1-环境搭建
- spring源码阅读1——环境搭建&阅读方法
- Hadoop源码阅读环境搭建
- spark源码阅读环境搭建
- 搭建Spark源码阅读环境
- kafka源码阅读环境搭建
- Kafka源码阅读环境搭建
- kafka源码阅读环境搭建
- tomcat7.0 源码阅读1 (环境搭建)
- Spring学习1:Spring源码阅读环境搭建
- Spring学习1:Spring源码阅读环境搭建
- openstack源码阅读笔记1 开发环境搭建
- Spring学习1:Spring源码阅读环境搭建
- Ubuntu 搭建Hadoop源码阅读环境
- intellij idea搭建spring源码阅读环境
- Spark-IDEA源码阅读环境搭建(Windows)
- Linux环境下段错误的产生原因及调试方法小结
- Kinect V2开发(5)绘制骨架图
- 【React Native】那些年RN上跳过的坑
- Cas单点登录(6)Cas Client配置
- kudu性能调优
- Spring4.3.12源码阅读系列:1-环境搭建
- Docker教程二之基于Centos7的NodeJS环境镜像
- jquery 02筛选选择器-表单属性jquery dom
- WINCE CPU内存的占用率计算
- 数字验证码源代码
- 阿里云新优惠活动,幸运券免费领取
- Linux命令学习笔记
- 不同函数之间的跳转setjmp和longjmp
- android 使listview显示最底部一条