java互联网架构 发表于 2020-12-26 16:19:07

使用 IDEA 快速搭建 Spring 的源码环境

https://p3.pstatp.com/large/pgc-image/b0be10894d4741eba0deaf8de47272a9
说明

想深入学习下 spring,了解下 spring 生命周期的一些细节,学习下一些中间件是怎么整合到 spring 内里的,假如本身写的中间件要怎么整合到 spring 中呢?从而让其他同学使用的时候非常方便;
看了文档、书、博客、专栏之后想读读源码,顺便读源码的时候做一点解释,或者修改点代码啥的,以是需要搭建一个环境;
说实话,很多人估计想搭建个 spring 的源码环境,但是 spring 的这个源码环境照旧稍微有点复杂的,机缘巧合,之前有朋侪(@上杰)研究了一个星期,并且末了把环境搞好了,还顺便给我把环境也搞了下,大概几分钟操作就行,其他就让电脑在那里下载就行了;
之前也有好几个朋侪问我,他也想搭建个 spring 环境,今天就抽空整理下,希望对你有资助;
效果

末了环境搭建乐成效果如下:
https://p1.pstatp.com/large/pgc-image/9470e4347a874a8cb1723a457fab7eaf
可以本身调试源码,修改代码,添加相关解释了;
ps:假如你想搭建 spring-boot 的源码环境,比 spring 环境简单,clone 源码之后,啥不用操作等编译即可,效果如下:
https://p1.pstatp.com/large/pgc-image/7717ac1ddabc402086bbafaaa34e2110
预备 spring 源码

spring GitHub 地点:https://github.com/spring-projects/spring-framework.git
直接 clone 也可以,你也可以 fork 到本身仓库之后再 clone ;
spring 给出的步调

https://p1.pstatp.com/large/pgc-image/ad21892b7f7d4ca9950a90b6745c222c
第三步先注意了,需要给你的 idea 调整下 jvm 参数;其他的按照做可能还有点问题,我来把之前朋侪研究一周并且可行的操作步调列下;
环境搭建步调


[*]提前编译操作(通过 spring 给出的 一步调可以发现)
https://p1.pstatp.com/large/pgc-image/93621d8a18654cb5a5d6364ed0c9413c

[*]需要解释掉 gradle/docs.gradle 一段内容
https://p3.pstatp.com/large/pgc-image/3b393f4cd97e4e4daf10878c54535bf9

[*]aspectJ 特殊设置下,在 spring 文档中 建议排撤消,但是有时候我们需要使用,以是这里清除
https://p3.pstatp.com/large/pgc-image/e854e0b8fca846e689f2f6b0bfe32d31

[*]编译(此过程时间较长,我电脑编译了 一个多小时……)
https://p1.pstatp.com/large/pgc-image/4c2ad4be5b564378a444e29404f4351b

[*]本身建立一个模块
https://p1.pstatp.com/large/pgc-image/2312e49bc9264592919f51bcc631e8f5

[*]开始调试、添加解释等表示环境乐成了;
https://p1.pstatp.com/large/pgc-image/224e74f39d5b4f65a2b9a8bcde5ca772
本身源码添加相关解释;
https://p1.pstatp.com/large/pgc-image/ff7b3de745434e96a692a074f199a2a3
总结

还好有朋侪之前研究过,如许我们不必在环境搭建上浪费太多时间,环境搭建好了之后,就可以不停的调试检察源码执行过程了,本文也主要是分享下这个 spring 源码环境的搭建过程,假如你之前搭建环境没有乐成,希望这次对你有资助;

孟波涛20210101 发表于 2020-12-30 16:32:07

源码

IT烟火 发表于 2020-12-28 23:40:01

转发了

love胖哒 发表于 2020-12-27 09:04:22

转发了
页: [1]
查看完整版本: 使用 IDEA 快速搭建 Spring 的源码环境