Spring框架浅析之源码运行

Spring框架浅析之源码运行


一、运行环境

  • JDK8
  • Spring 5.2
  • Gradle 6.8.3
  • Idea

二、使用步骤

1.下载Spring

Spring源码下载地址:

https://github.com/spring-projects/spring-framework

我本机安装的JDK8,最开始下载的最新Spring结果编译不过去,结果换成了5.2版本的编译正常,所以JDK8的最好下载5.2

2.gradle编译源码

gradle下载地址:

https://services.gradle.org/distributions/

需要注意图中标红的两个位置,一个是Spring中gradle的位置,另一个是gradle的版本,要求Gradle编译的版本最低为Spring中的版本,
在这里插入图片描述
下载bin-zip,虽然向下兼容,但是最好尽量下载相同版本,不确定其它版本会出现啥神奇的BUG
在这里插入图片描述
配置环境变量:

path里面添加 %GRADLE_HOME%\bin

检查gradle是否安装成功:
在这里插入图片描述
编译Spring:

进入Spring文件夹,输入命令 ./gradlew.bat :spring-oxm:compileTestJava

编译成功:
在这里插入图片描述

3.导入idea

在这里插入图片描述
选择spring源码中的build.gradle文件,等待spring编译
在这里插入图片描述
等待编译完,时间稍长,配置idea中的grade。
在这里插入图片描述
编译成功,预料之中,我们在前面其实已经编译测试过了
在这里插入图片描述

4.写个Hello World调试代码

新建一个gradle模块
在这里插入图片描述
随便写个名字
在这里插入图片描述
修改其build.gradle配置文件信息:

plugins {
    id 'java'
}

group 'org.springframework'
version '5.2.20.BUILD-SNAPSHOT'

sourceCompatibility = 1.8

repositories {
    mavenCentral()
}

dependencies {
    compile(project(":spring-context"))
    testCompile group: 'junit', name: 'junit', version: '4.12'
}

写测试类

@Component
public class User {
	private String name;
	private int age;

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

public class Test001 {

	public static void main(String[] args) {
		ApplicationContext applicationContext = new AnnotationConfigApplicationContext(User.class);
		User user = applicationContext.getBean(User.class);
		System.out.println("hello World");
		System.out.println("user="+user);
	}
}

运行:
在这里插入图片描述

遇到的问题

  • gradle报错,原因是没有权限,gradle不要放在C盘

在这里插入图片描述

  • gradlew报错,看圈出来的地方,提示需要加./
    在这里插入图片描述
  • Git报错:是电脑的网访问Git失败,这里其实是可以忽略的。可以试试直接用浏览器打开git会发现很卡,所以此处需要开加速器

如下图Ping一下Git会发现:
在这里插入图片描述解决方案
在这里插入图片描述

  • 代码风格检查报错
    去掉代码风格检查,在Spring整个项目的src下面checkstyle.xml,把module里面的内容全屏蔽掉
    在这里插入图片描述

操作步骤参照来源
idea导入spring源码并调试运行

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值