使用idea+gradle编译spring5.x.x源码分析
作者:DM搬运工 时间:2022-05-13 15:13:31
一、编译环境
spring5.0.x源码
gradle4.9
jdk1.8_151
IntelliJ IDEA 2020.1
二、安装gradle
1、下载
下载地址:https://services.gradle.org/distributions/
2、配置
2.1、gradle下载后不需要安装,直接解压到磁盘
2.2、配置gradle环境变量
新建GRADLE_HOME变量,path中增加%GRADLE_HOME%/bin即可,如下图:
path环境:
2.3、配置gradle默认的本地仓库
gradle和maven类似,工作时也需要一个本地仓库,管理工程jar包
path环境:
2.4、检查是否安装成功
三、下载spring源码
1、进入github官网,直接搜索spring
2、选择spring官方源码
3、选择版本5.x.x
4、下载zip压缩包
5、解压
四、编译spring5源码
1、将项目导入idea中
此处不再赘述
2、编译配置
(idea2020以上版本忽略此步,idea将自动帮助我们配置并编译构建)
注:因为其他项目需要依赖spring-core和spring-oxm,所以我们导入后需要先编译这两个包
当idea右边窗口的gradle有如下模块,则表示编译构建完成:
五、测试spring是否编译成功
1、新建一个module
完成以上步骤后,idea将帮我们自动编译构建,构建完成后将打开所有项目的目录:
2、引入spring相关功能模块
打开刚刚新建module中的build.gradle文件,引入spring依赖
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源码编译成功,可以为所欲为了
来源:https://blog.csdn.net/weixin_45865428/article/details/124359370
标签:idea,编译,gradle,spring5
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
C#实体对象序列化成Json并让字段的首字母小写的两种解决方法
2023-02-24 18:41:44
Java数据结构之链表详解
2023-10-20 09:14:08
![](https://img.aspxhome.com/file/2023/7/58587_0s.png)
C#同步和异步调用方法实例
2022-09-11 21:20:50
Java读取.properties配置文件方法示例
2023-08-24 16:32:56
![](https://img.aspxhome.com/file/2023/9/58159_0s.png)
Java统计输入字符的英文字母、空格、数字和其它
2022-11-13 04:11:31
SpringBoot日志框架之Log4j2快速入门与参数详解
2023-11-15 21:17:59
![](https://img.aspxhome.com/file/2023/3/61653_0s.webp)
详解Spring Boot微服务如何集成fescar解决分布式事务问题
2022-01-21 18:43:51
![](https://img.aspxhome.com/file/2023/1/67951_0s.png)
Java字符判断的小例子
2023-08-26 17:29:49
![](https://img.aspxhome.com/file/2023/9/58169_0s.jpg)
Java枚举的七种常见用法总结(必看)
2022-10-10 08:38:43
spring框架cacheAnnotation缓存注释声明解析
2022-04-14 17:13:05
![](https://img.aspxhome.com/file/2023/3/65323_0s.png)
Java 深入浅出掌握Collection单列集合Set
2023-10-07 18:49:32
![](https://img.aspxhome.com/file/2023/5/58545_0s.gif)
Gradle:修改默认的Build配置文件名方式
2023-11-28 20:18:01
![](https://img.aspxhome.com/file/2023/7/60617_0s.png)
swagger添加权限验证保证API(接口)安全性(两种方法)
2023-11-27 18:58:33
![](https://img.aspxhome.com/file/2023/5/60255_0s.png)
详解SpringBoot项目的创建与单元测试
2021-06-17 05:13:17
![](https://img.aspxhome.com/file/2023/2/65152_0s.png)
Java监听器ActionListener与MouseListener的执行顺序说明
2022-02-04 20:08:23
![](https://img.aspxhome.com/file/2023/9/72629_0s.png)
linux环境下java程序打包成简单的hello world输出jar包示例
2023-11-26 11:11:37
![](https://img.aspxhome.com/file/2023/8/60378_0s.png)
Mybatis实现单个和批量定义别名typeAliases
2023-02-11 06:27:03
老生常谈反射之Class类的使用(必看篇)
2022-07-20 16:32:30
利用Java读取二进制文件实例详解
2023-07-27 03:25:42
SpringBoot分页查询功能的实现方法
2023-07-14 02:22:21
![](https://img.aspxhome.com/file/2023/1/71651_0s.png)