Spring框架浅析之源码运行
一、运行环境
- JDK8
- Spring 5.2
- Gradle 6.8.3
- Idea
二、使用步骤
1.下载Spring
Spring源码下载地址:
我本机安装的JDK8,最开始下载的最新Spring结果编译不过去,结果换成了5.2版本的编译正常,所以JDK8的最好下载5.2
2.gradle编译源码
gradle下载地址:
需要注意图中标红的两个位置,一个是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源码并调试运行