idea导入spring源码

idea 导入spring源码

学习spring源码最好的方法就是运行源码然后在源码基础上进行debug学习, 现在就总结一下spring源码怎么导入到idea中, 网上很多教程说需要安装gradle,其实gradle是不需要本地安装的, 本地安装只是为了提高构建速度。

  1. 下载源码,直接通过spring官网找到源码,然后通过git导入idea.
    spring源码git地址: https://github.com/spring-projects/spring-framework
    idea导入spring源码
  2. 添加阿里的maven仓库,然后编译源码
    这里有两个文件需要修改,一个是根目录下的build.gradle文件,还有一个是buildSrc里的build.gradle
repositories {
	maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }
	maven{ url 'https://maven.aliyun.com/nexus/content/repositories/jcenter'}
	mavenCentral()
	gradlePluginPortal()
}

修改build.gradle配置
buildSrc里的build.gradle
3. 修改完以在构建spring这样速度会快很多。加载完以后新增一个自己的模块。
新增模块
4. 执行 spring-oxm中的 compileTestJavacompileTestJava
4. 引入context模块
引入context模块
5. 测试文件

@Configurable
@ComponentScan("com.yousuf")
public class AppConfig {
}
@Component
public class Clazz {
	@Autowired
	private Student student;
	public Clazz() {
		System.out.println("-----init clazz-----");
	}
}
@Component
public class Student {
	@Autowired
	private Clazz clazz;
	public Student() {
		System.out.println("-------init student-------");
	}
}
// 这个是测试类
public class ApplicationTest {
	@Test
	void app_test() {
		AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(AppConfig.class);
		System.out.println(ctx.getBean(Clazz.class));
		System.out.println(ctx.getBean(Student.class));
	}
}

报错信息
报错模块
build报错模块继续执行,报错信息,这个时候需要引入报错的模块kotlin-coroutines

测试报错
引入模块

继续看报错信息, 找到该模块并引入
spring-instrument

项目终于全部跑通了
项目成功运行

这里只是介绍了一下怎么排除错误,错误不可能全部重现,解决错误的思路就是看哪个包的东西缺失就引入哪个包,其实我们可以参考其他包来进行引入,比如我们看一下spring-webbuild.gradle文件,参照着他的包引入,则基本不会报错
spring-web
参考他的修改我们的gradle文件
修改后的gradle文件
这里你就会发现其实和我们平时引用spring没什么区别,最关键的包spring-corespring-context包,只是之前导入的是jar包,现在导入的是模块,我们需要测试哪个功能引入对应的模块即可,最最核心的spring模块就是这两个。所以源码导入和jar包使用没什么区别。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值