使用idea+gradle编译spring5.x.x源码分析
作者:DM搬运工 发布时间:2022-05-13 15:13:31
标签:idea,编译,gradle,spring5
一、编译环境
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


猜你喜欢
- 在上一篇博文《C/C++ Qt TreeWidget 单层树形组件应用》中给大家演示了如何使用TreeWidget组件创建单层树形结构,并给
- 前面两篇文章,分别简述了多线程的使用和发展历程,但是使用多线程无法避免的一个问题就是多线程安全。那什么是多线程安全?如何解决多线程安全?本文
- 说明:当程序中出现频繁变化的数据时,如果采用认为的方式进行修改并且编译打包则会导致代码的耦合性较高,不便于维护!所以能否为属性动
- 首页在AndroidManifest.xml中添加访问数据库权限<uses-sdk android:minSdkVersion=&qu
- 一、使用JDK生成WSDL的对象类1、cmd进入JDK的bin文件中执行命令 wsimport -keep -p com.demo.clie
- 1. 简介很早就听说了Google的Lifecycle组件,因为项目没有使用过,所以并没有过多的接触。不过最近看到了一篇文章,其中的一条评论
- 1、配置 IDEA 的 Maven 环境单击菜单栏中的 File → Settings → Build, Ex
- 前言 我们都知道,finally在捕获异常的操作中,总是最
- 实时代码模板(Live Templates)我们先来看一个gif图:大兄弟,你看清我的操作了么?这个就是实时代码模板的功能。我们来看一下怎么
- 最近为公司做的一个Demo里面用到了ScrollView嵌套了GridView和ListView,然而在嵌套的时候我发现GridView和L
- C#中的null与SQL中的NULL是不一样的,SQL中的NULL用C#表示出来就是DBNull.Value。注意:SQL参数是不能接受C#
- 基于IDEA生成可执行jar包1.编写class的代码,注意一定要有main()方法才可以生成jar包,main()方法可以没有内容。例如:
- 本文实例讲述了C#判断系统是32位还是64位的方法。分享给大家供大家参考。具体如下:public static int GetOSBit()
- 一、前言我们经常会遇到业务想看debug日志的问题,但是debug日志频繁打印会对日志查看有影响,且日志多对系统也会有一定的压力,因此,如果
- 实现手机电话状态的监听,主要依靠两个类:TelephoneManger和PhoneStateListener。 TelephonseMang
- 上篇文章给大家介绍了在idea中将创建的java web项目部署到Tomcat中的过程图文详解,可以参考下,本文给大家继续介绍如何在IDEA
- package com.java.db;import java.lang.reflect.Constructor;import java.l
- 某些Google Play服务(例如Google登录和App Invites)要求我们提供签名证书的SHA-1,以便google paly为
- 前段时间做了一个练手的小项目,名叫Book_Bar,用来卖书的,采用的是三层架构,也就是Models,IDAL,DAL,BLL 和 Web
- 下面是一个邮件接收的工具类,有点长!!!public class ReciveMail { private MimeMessage msg