‘理论’是你知道是这样,但它却不好用。‘实践’是它很好用,但你不知道是为什么。程序员将理论和实践结合到一起:既不好用,也不知道是为什么。
编程从来不复杂,只需要我们耐心实践你最终会有所收获。最近感觉技术有了瓶颈,工作的内容有没有太多的挑战,决定参考互联网众多无名大牛的做法,潜心修炼。
spring framework 已经成为java领域web开发的标准,分析它的源码、设计思路,是技术宅的很好提升。
源码
spring 源码在github上,地址为
源码并不是很大,直接克隆
git clone https://github.com/spring-projects/spring-framework.git
10分钟后看了一下结果,github连接中断了,重试几次都不行。换方法浏览器直接下载,10几分钟后又连接中断了。
一种方法不行,就换另外一种方法,这是做技术人员的态度。git不行、下载也不行,还可以用gitee【码云】中转,具体操作如下:
- fork spring-framework项目到私有库
- 登录gitee,使用导入功能将github项目导入到gitee
- 克隆gitee 源码
git clone https://gitee.com/lfz/spring-framework.git
成功搞到源码,给自己个赞。
导入IDEA
spring framework使用的是gradle编译,平时用惯了maven,导入时遇到一点麻烦。
先配置gradle 不熟悉,让idea自动下载去了,下载了很久没有效果。安装网上资料调整配置,下载自定义版本。
1.spring5环境安装-gradle.png
下载了gradle 4.9 ,自动导入放了一个晚上,没有搞定。今天换gradle 5.6,下载了3个半小时,终于把项目导入成功。
1.spring5环境准备-崩溃中.png
预编译
参考 import-into-idea.md 文件,先需要预编译spring-orm,其它模块都是依赖这个模块的。
前后预编译三次,每次都提示有几个依赖包为下载,每次都重新刷新依赖,很庆幸在12点之前终于搞定了。
1.spring5环境准备-编译中.png
总结
源码分析有几点需要注意
- github属于国外网站,你可能在家里很快下载下来,在公司就很慢;也可能中午很快,晚上就很慢了。可以使用gitee先把源码克隆到国内地址来。
- 很多依赖也都属于国外地址,推荐使用国内maven镜像替换
- gradle 版本很重要
- 编译也需要缘分,今天搞不定,可能是缘分未到,明天在继续。
编程从来不复杂,踩的坑多了自然就厉害了。
网友评论