WIN10下使用IDEA构建spring源码图文教程,亲测有效

WIN10下使用IDEA构建spring源码图文教程,亲测有效

简介

这一阵子在读spring源码,但是网上的文章,构建spring源码大都有问题,导致我构建源码的时候出现了很多问题。所以我自己重新构建了一下,所有的环境都是当前时间之前最新的。

环境

win10 + jdk1.8.0_211 + IntelliJ IDEA 2019.1.3

步骤

下载

在官网下载最新版的spring-framework-5.0.x源码(https://github.com/spring-projects/spring-framework/tree/5.0.x)

构建

  1. 进入源码目录,打开cmd窗口,输入 gradlew :spring-oxm:compileTestJava

网上很多文章都说这里要下载gradle,其实不用,输入这个指令之后会自己下载的(亲测),截图如下(中间可能会出错,十有八九是网络问题,建议挂vpn,或者多试几次):

在这里插入图片描述

  1. 打开Intellij IDEA,依次选择File -> New -> Project from Existing Sources -> spring项目根目录 -> 选择 build.gradle,然后如下图,一路ok即可。
    在这里插入图片描述
    选择gradle:
    在这里插入图片描述
    选择ok:

在这里插入图片描述
再选择ok就i可以了,之后,会加载比较久,因为第一次拉取jar包比较耗时,慢慢等待就是了,如果出错,还是那句话:中间可能会出错,十有八九是网络问题,建议挂vpn,或者多试几次
加载成功后的样子:
在这里插入图片描述

  1. 新建自己的module,建议新建gradle项目,过程如下。
    在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
到这里module就新建完成了。
5. 添加依赖
在这里插入图片描述

  1. 测试
    编写Main程序,如下:
package org.springframework.demo;

import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class Main {

	@Bean("person")
	public Person person() {
		return new Person("Hello");
	}
	public static void main(String[] args) {
		AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(Main.class);
		System.out.println((Person) context.getBean("person"));
	}

}

class Person {
	String name;

	@Override
	public String toString() {
		return "Person{" +
				"name='" + name + '\'' +
				'}';
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public Person(String name) {
		this.name = name;
	}
}
  1. bug修改

点击运行后,项目会报错,具体内容如下:
在这里插入图片描述

原因是:spring-context项目中引用了spring-instrument项目,所以这里要修改module spring-context下的build.gradle
在这里插入图片描述

  1. 运行成功,效果如下
    在这里插入图片描述
    然后就可以愉快的阅读spring源码了。
    当然,大家也可以下载我之前编译的源码:https://github.com/scs9826/spring-5.x

版权声明:本文为qq_37978130原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。