不得不说,spring这个基础面试内容是我的短板,我就是从来没看过源码,用得挺熟倒是。为了让自己不在这个痛点上继续痛下去,开始看吧。
去git上搜索spring-framework,fork到自己空间里,就可以随意修改提交了。
然后本地的话,之前一直用2017.03版本的intellij和jdk1.8相安无事,直到拿到最新的spring-framework频频被gradle和import jdk.jfr找不到报错骚扰。用升了级的2020.03以及jdk11(jfr,jmh都是jdk11以后开源的,之前是商用版本的jdk才能用),最新的gradle6.8.2。相同的导入步骤,相同的build过程。就没事儿了。
创建自己的module,右键new->module->gradle->java->之后按部就班就好了。网上也有好多参考文章,就不po细节了。
在新建自己的module中,build.gradle的内容可以从spring-framework的spring-test模块中的spring-test.gradle复制过来,这样方便些。然后创建自己的类,就可以进行调试了。
在这里分享一下此次的心得:没事儿换换IDE吧;其次,gradle这个东西刚接触,感觉版本控制吗,没啥特别的,最明显的感受是,通过不同关键字区分是本地代码还是导入的jar,这个还挺鲜明的,不像maven项目,大了容易乱套;以及,SDKMAN这个东西,对这些支持工具版本的下载和切换非常便捷。
好了,接下来就耐心追源码吧。