说明
[size=0.882em]想深入学习下 spring,了解下 spring 生命周期的一些细节,学习下一些中间件是怎么整合到 spring 内里的,假如本身写的中间件要怎么整合到 spring 中呢?从而让其他同学使用的时候非常方便;
[size=0.882em]看了文档、书、博客、专栏之后想读读源码,顺便读源码的时候做一点解释,或者修改点代码啥的,以是需要搭建一个环境;
[size=0.882em]说实话,很多人估计想搭建个 spring 的源码环境,但是 spring 的这个源码环境照旧稍微有点复杂的,机缘巧合,之前有朋侪(@上杰)研究了一个星期,并且末了把环境搞好了,还顺便给我把环境也搞了下,大概几分钟操作就行,其他就让电脑在那里下载就行了;
[size=0.882em]之前也有好几个朋侪问我,他也想搭建个 spring 环境,今天就抽空整理下,希望对你有资助;
效果
[size=0.882em]末了环境搭建乐成效果如下:
[size=0.882em]可以本身调试源码,修改代码,添加相关解释了;
[size=0.882em]ps:假如你想搭建 spring-boot 的源码环境,比 spring 环境简单,clone 源码之后,啥不用操作等编译即可,效果如下:
预备 spring 源码
[size=0.882em]spring GitHub 地点:https://github.com/spring-projects/spring-framework.git
[size=0.882em]直接 clone 也可以,你也可以 fork 到本身仓库之后再 clone ;
spring 给出的步调
[size=0.882em]第三步先注意了,需要给你的 idea 调整下 jvm 参数;其他的按照做可能还有点问题,我来把之前朋侪研究一周并且可行的操作步调列下;
环境搭建步调
- [size=0.882em]提前编译操作(通过 spring 给出的 一步调可以发现)
- [size=0.882em]需要解释掉 gradle/docs.gradle 一段内容
- [size=0.882em]aspectJ 特殊设置下,在 spring 文档中 建议排撤消,但是有时候我们需要使用,以是这里清除
- [size=0.882em]编译(此过程时间较长,我电脑编译了 一个多小时……)
- [size=0.882em]开始调试、添加解释等表示环境乐成了;
[size=0.882em]本身源码添加相关解释;
总结
还好有朋侪之前研究过,如许我们不必在环境搭建上浪费太多时间,环境搭建好了之后,就可以不停的调试检察源码执行过程了,本文也主要是分享下这个 spring 源码环境的搭建过程,假如你之前搭建环境没有乐成,希望这次对你有资助; |