栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

spring源码:idea搭建源码环境

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

spring源码:idea搭建源码环境

文章目录
    • 前言
    • 搭建流程
    • 详细流程
        • 1. 下载sprign源码
        • 2. 安装gradle
        • 3. 设置spring源码配置文件
          • build.gradle文件设置
          • settings.gradle文件设置
          • gradle.properties文件设置
        • 4. idea编译及启动源码
        • 5. 测试spring源码
    • 总结

前言

最近学习spring源码,在搭建源码环境时,折腾了一阵,这里对自己踩过的坑进行总结,方便大家搭建源码环境。

搭建流程
  1. 下载spring源码
  2. 安装gradle
  3. 设置spring源码配置文件
  4. idea编译及启动源码
  5. 测试spring源码
详细流程 1. 下载sprign源码

这里推荐大家去github下载,主要是保证大家一开始安装spring源码的版本是正确的,spring的源码地址:https://github.com/spring-projects/spring-framework,如下为github上的spring项目,使用默认的git clone命令进行下载的话,获取的将是最新的spring源码版本,我这边打开最新的版本是spring6.0,其jdk版本为jdk17,很显然大部分读者的jdk环境不够,而且学习spring6.0没必要。

那如何下载指定版本的spring源码呢,我以我学习的spring源码版本spring-v5.2.21.RELEASE版本为例,教大家如何下载。

使用命令

方法1: git clone --branch [tags标签] [git地址] 
方法2: git clone --b [tags标签] [git地址]

相应地,为了下载spring-v5.2.21.RELEASE版本,使用如下命令即可。

git clone -b v5.2.21.RELEASE https://github.com/spring-projects/spring-framework.git

此外我们还应该构建spring-v5.2.21.RELEASE版本所使用的gradle版本,后续编译源码时最好保证安装的gradle与此对应。

其中标记1初表示为查看gradle版本的地址:spring-framework/gradle/wrapper/gradle-wrapper.properties,标记2处显示对应的gradle版本为:gradle-5.6.4-bin.zip

2. 安装gradle

前面介绍完了,spring源码如何下载,及其对应的gradle版本,本节只需要下载上节讲述的gradle版本即可,gradle下载地址:https://services.gradle.org/distributions/ ,对应的如下:

后面就解压及配置gradle环境变量。这里mac配置环境变量为例:
输入编辑配置文件变量

vim ~/.bash_profile   

gradle环境配置如下:

GRADLE_HOME=gradle-5.6.4解压后的全路径位置
export GRADLE_HOME
export PATH=$PATH:${GRADLE_HOME}/bin

最后输入“:wq”保存退出,并刷新下配置文件,输入如下命令

source ~/.bash_profile   

当输入

gradle -v

显示如下:

则表示gradle安装成功,至此大家完成了搭建spring源码环境的一半工作量。

3. 设置spring源码配置文件

设置spring源码配置文件,主要是方便后续编译spring源码,否则编译几个小时可能还为编译完成哦。

build.gradle文件设置

进入下载后的spring源码文件内,找到build.gradle文件,修改镜像配置如下:

		repositories {
			//阿里云仓库
			maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }
			maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter'}
			mavenCentral()
			//maven { url "https://repo.spring.io/libs-spring-framework-build" }
		}

并将configurations.all注释掉,如下:

	// configurations.all {
	// 	resolutionStrategy {
	// 		cacheChangingModulesFor 0, "seconds"
	// 		cacheDynamicVersionsFor 0, "seconds"
	// 	}
	// }
settings.gradle文件设置

进入settings.gradle文件,加入阿里云镜像

	repositories {
		maven { url "https://maven.aliyun.com/repository/public" }
		gradlePluginPortal()
		maven { url 'https://repo.spring.io/plugins-release' }
	}
gradle.properties文件设置

适当调大jvm的内存org.gradle.jvmargs

version=5.2.21.RELEASE
org.gradle.jvmargs=-Xmx4096M
org.gradle.caching=true
org.gradle.parallel=true
4. idea编译及启动源码

idea导入spring源码,如下:

选择build.gradle,以gradle方式导入,接着设置idea的gradle版本,配置如下:

两个标记的地方均为本地安装的gradle全路径位置。之后就开始编译spring源码文件,当出现bulid successful则表示编译成功。

5. 测试spring源码

完成上述的spring源码安装后,要确定其是否可运行,也就是测试下spring源码能否正常使用ioc、aop等功能,在spring源码文件目录下新建测试模块module,如下

接着,在测试模块下添加spring-context的依赖,具体位置如下:

dependencies {
    compile project(":spring-context")
    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.0'
    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.7.0'
}

新建一个bean对象

@Repository
public class HelloBean {
	public void hello(){
		System.out.println("hello spring");
	}
}

配置注解扫描类

@ComponentScan("com.coderp")
@Repository
public class BeanConfig {
}

编写测试类

public class Test1 {
	public static void main(String[] args) {
		ApplicationContext applicationContext = new AnnotationConfigApplicationContext(BeanConfig.class);
		HelloBean helloBean = applicationContext.getBean(HelloBean.class);
		helloBean.hello();
	}
}

按照正常的spring源码环境搭建步骤,执行上述测试方法,一定能够输出“hello spring”。

总结

以下就是spring源码环境搭建的全部流程,希望对大家学习spring有所帮助,欢迎大家一起交流探讨。
wx:chengxuxiaoji
gzh:程序小记

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/820835.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号