idea + gradle编译spring5.x.x源码

一、编译环境

  • spring5.0.x源码
  • gradle4.9
  • jdk1.8_151
  • IntelliJ IDEA 2020.1

二、安装gradle

1、下载

下载地址:https://services.gradle.org/distributions/
![在这里插入图片描述]( https://img-blog.csdnimg.cn/a66c01295679465a8be09c1b63211b17.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBARE3mkKzov5Dlt6U=,size_20,color_FFFFFF,t_70,g_se,x_16)

2、配置

2.1、gradle下载后不需要安装,直接解压到磁盘

![在这里插入图片描述]( https://img-blog.csdnimg.cn/f89eb223449b402dbcb2c7686583f39e.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBARE3mkKzov5Dlt6U=,size_20,color_FFFFFF,t_70,g_se,x_16)

2.2、配置gradle环境变量

新建GRADLE_HOME变量,path中增加%GRADLE_HOME%/bin即可,如下图:
![在这里插入图片描述]( https://img-blog.csdnimg.cn/a859e131013141aa8b3d166f14fd8b9d.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBARE3mkKzov5Dlt6U=,size_20,color_FFFFFF,t_70,g_se,x_16)
path环境:
在这里插入图片描述

2.3、配置gradle默认的本地仓库

gradle和maven类似,工作时也需要一个本地仓库,管理工程jar包
![在这里插入图片描述]( https://img-blog.csdnimg.cn/0c74ae4befde43009b923ef624b79327.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBARE3mkKzov5Dlt6U=,size_20,color_FFFFFF,t_70,g_se,x_16)
path环境:
在这里插入图片描述

2.4、检查是否安装成功

![在这里插入图片描述]( https://img-blog.csdnimg.cn/38682f2e9f07443e9121a6ef10f646d0.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBARE3mkKzov5Dlt6U=,size_20,color_FFFFFF,t_70,g_se,x_16)

三、下载spring源码

1、进入github官网,直接搜索spring

![在这里插入图片描述]( https://img-blog.csdnimg.cn/fa6caa2fe0fd4b69836f392ceb40f2e6.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBARE3mkKzov5Dlt6U=,size_20,color_FFFFFF,t_70,g_se,x_16)

2、选择spring官方源码

![在这里插入图片描述]( https://img-blog.csdnimg.cn/a458f907caa54f359a3b2b5af5d43802.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBARE3mkKzov5Dlt6U=,size_20,color_FFFFFF,t_70,g_se,x_16)

3、选择版本5.x.x

![在这里插入图片描述]( https://img-blog.csdnimg.cn/dac4ebae196c4f9fb0a696457af70a55.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBARE3mkKzov5Dlt6U=,size_20,color_FFFFFF,t_70,g_se,x_16)

4、下载zip压缩包

![在这里插入图片描述]( https://img-blog.csdnimg.cn/40d9600c936547b59cca8d74cc2c7556.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBARE3mkKzov5Dlt6U=,size_20,color_FFFFFF,t_70,g_se,x_16)

5、解压

![在这里插入图片描述]( https://img-blog.csdnimg.cn/bfd512d33ef34ebcb0c3b5d7998d2c21.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBARE3mkKzov5Dlt6U=,size_20,color_FFFFFF,t_70,g_se,x_16)

四、编译spring5源码

1、将项目导入idea中

此处不再赘述
![在这里插入图片描述]( https://img-blog.csdnimg.cn/6daf37353edd4eba9b21b77c2e0773b0.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBARE3mkKzov5Dlt6U=,size_19,color_FFFFFF,t_70,g_se,x_16)

2、编译配置

(idea2020以上版本忽略此步,idea将自动帮助我们配置并编译构建)
![在这里插入图片描述]( https://img-blog.csdnimg.cn/63c831d089f449aebccc5f52ca0a2bea.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBARE3mkKzov5Dlt6U=,size_20,color_FFFFFF,t_70,g_se,x_16)
注:因为其他项目需要依赖spring-core和spring-oxm,所以我们导入后需要先编译这两个包

当idea右边窗口的gradle有如下模块,则表示编译构建完成:
![在这里插入图片描述]( https://img-blog.csdnimg.cn/e8aae38de76b4744bb95e420763222b5.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBARE3mkKzov5Dlt6U=,size_18,color_FFFFFF,t_70,g_se,x_16)

五、测试spring是否编译成功

1、新建一个module

![在这里插入图片描述]( https://img-blog.csdnimg.cn/089c5b568a98479991e98d69d008c2b1.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBARE3mkKzov5Dlt6U=,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述]( https://img-blog.csdnimg.cn/830c0bed17674d5e969a9a4f77c1e48d.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBARE3mkKzov5Dlt6U=,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述]( https://img-blog.csdnimg.cn/4cd10853cc1c49e4958e6643d9d7b914.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBARE3mkKzov5Dlt6U=,size_20,color_FFFFFF,t_70,g_se,x_16)
完成以上步骤后,idea将帮我们自动编译构建,构建完成后将打开所有项目的目录:
![在这里插入图片描述]( https://img-blog.csdnimg.cn/fdb8b4cff0724940a0fca1da9828bada.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBARE3mkKzov5Dlt6U=,size_20,color_FFFFFF,t_70,g_se,x_16)

2、引入spring相关功能模块

打开刚刚新建module中的build.gradle文件,引入spring依赖
![在这里插入图片描述]( https://img-blog.csdnimg.cn/f712fba49f2e4ac99a23552594999466.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBARE3mkKzov5Dlt6U=,size_20,color_FFFFFF,t_70,g_se,x_16)

3、编写测试代码

config模块

@ComponentScan("com.shadow")
public class AppConfig {

}

service模块

@Service
public class TestService {

}

测试

public class MyTest {

	public static void main(String[] args) {
		AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class);
		TestService bean = applicationContext.getBean(TestService.class);
		System.out.println("bean:::::"+bean);
	}
}

出现下面结果则表示spring源码编译成功,可以为所欲为了
在这里插入图片描述

posted @ 2022-05-10 09:35  DM搬运工A  阅读(118)  评论(0)    收藏  举报