Spring5.1源码编译详解
关于编译源码,作者有以下几点感悟:
1、第一次编译是一件很痛苦的事情,会有很多报错,而且每个人遇到的都不一样,所以耐心是关键
2、环境最好和笔者保持一致,不然可能出现以下莫名的错误
3、多看看报错内容,根据报错重新编译对应的包,或者修改环境配置等杂七杂八的东西
4、尽量不要用eclipse编译源码,主要是eclipse需要安装一堆插件,漫长的安装插件是一件极其痛苦的事情
编译环境:
IDEA 2019.2.4 jdk11.7 gradle5.6.3
环境安装搭建略过
1、下载spring源码包:https://github.com/spring-projects/spring-framework/tree/5.1.x
自己选择下载,可以使用git 或者 zip方式下载
gradlew.bat :spring-oxm:compileTestJava
gradlew.bat :spring-core:compileTestJava
打开idea配置相关环境
选择一个以前项目目录打开
选择gradle项目 finish,修改file>project structure 看看版本是否一致
然后开始漫长的等待吧,等待编译完成,build success 之后 需要编译 2个jar包
运行完成之后,可以编写自己的测试类了
编写自己的测试类,我的测试类如下
package com.hao; import org.springframework.context.annotation.ComponentScan; import org.springframework.stereotype.Component; @Component @ComponentScan("com.hao") public class AppConfig { }
package com.hao; import org.springframework.stereotype.Service; @Service public class AppService { }
package com.hao; import org.springframework.context.annotation.AnnotationConfigApplicationContext; public class AppTest { public static void main(String[] args) { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class); System.out.println(context.getBean(AppService.class)); } }
关于gradle依赖加入spring-context即可
执行 结果如下:
至此源码编译完成