《Spring5.x源码解析》之spring项目源码构建

  • Post author:
  • Post category:其他


导语:

众所周知,spring是构建Java企业级项目的基础框架。最典型的是通过它的ioc容器,我们可以巧妙的利用组合的方式实现代码的高内聚,低耦合。除此之外,spring还提供了一站式的解决方案(spring全家桶),如web模块的springMVC,微服务架构的springCloud等等。如此可见,spring的重要性不亚于如今使用的任何一种框架。在面试过程中,也经常提到spring这个框架的知识。或许我们不需要再重复的制造spring这个轮子,但是了解明白其内部的设计原理与思想,对于我们平时编码还是有一定的益处。接下来,作者会用一个系列的文章,记录作者探究spring源码的过程。如果文章中存在一些错误的地方,期待您的指正与点评。

源码构建:

作者原来阅读过spring的一些源码,使用的方式是通过maven下载源码文件进行阅读,但是存在的问题是源码文件只有读权限,没有写权限。而且作者最近读到一篇文章写道,阅读源码最好的方式是能在源码上写注释,debug,然后做笔记,才是阅读源码的好习惯。为了拥有写权限,便从gitee上下载spring源码。

下载源码:

可能有的朋友会问怎么不去github下载最新的源码?其实作者一开始也是从github上下载源码,但是下载速度太慢了,于是乎转战国内的一个开源网站gitee。虽然上面的spring源码都是国内的码友们从github上导过来的,代码无法做到实时更新,但是基本上较新的版本也是足够我们探索。

附上gitee上一个仓库的地址:

https://gitee.com/java-WebT/spring-framework.git

构建源码:

spring5.x某个版本以上都是Gradle构建项目,由于作者之前没有接触过Gradle项目,在构建上摸索了较长的时间。最终参考文章:

https://www.jianshu.com/p/fd497dab3b5c

构建成功。


踩坑点

:最主要的踩坑点是,Gradle不会像maven一样打印很多下载jar的日志,而是一直在

configure bulid,

让作者以为下载依赖卡住,下载不到jar包。 咨询了下同事才得知Gradle构建确实比较慢,而且Spring-framework项目比较大。作者等待了一段时间,就构建成功了。



版权声明:本文为the_Roy原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。