IDEA搭建最新Spring源码环境基于Gradle、JDK11

4 篇文章 0 订阅

Spring的地位不言而喻,很多牛逼的大佬都研究过它,相信在面试中大家也不止一次被问到说说IOC、AOP、Spring的启动流程、Bean的初始化流程、循环依赖等问题。光看别人写的八股文,没看过源码,看着看着就不知道讲什么了,只有自己去研究下才知道别人在说什么,就算不能理解的很透彻,起码死记硬背应该容易点了。所以搭建spring源码环境是很有必要的,很早就想过搭建,但是一直没有时间(忙着玩了),Spring能搭建好,也可以搭建SpringBoot,面试中基本上离不开这两个东西。
废话不多说开干。
最新版的Spring源码,基本上都使用的Gradle环境,另外一定要使用JDK11,我原先是JDK1.8搭建会有乱码和其中一个程序包会找不到,想要JDK11和JDK1.8动态切换可以看下面的第一步。

搭建环境:Spring源码5.X +  Gradle 6.9.1稳定的新版本也可以 + JDK11

这里三步完成Spring源码环境搭建,已经有JDK和Gradle环境的可以直接看第三步,第一步第二步点击下面链接,这里主要说第三步。
一、JDK11安装和JDK8的动态切换;
二、Gradle的安装下载;
三、Spring源码的下载与环境搭建;
建议去github里fork一份代码然后克隆到本地,这样就可以添加自己的注释并提交。
Spring的github的项目地址
在这里插入图片描述
然后将项目导入到idea,这里可能会提示idea没有配置gradle,如下配置一下。
在这里插入图片描述
然后需要修改源码的几个文件配置。
在这里插入图片描述
修改build.gradle大概290行左右

		repositories {
			// 新增2个阿里镜像地址
			maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
			maven { url 'https://maven.aliyun.com/repository/spring' }
			maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter' }
			mavenCentral()
			maven { url "https://repo.spring.io/libs-spring-framework-build" }
			// 新增spring插件库
			maven { url "https://repo.spring.io/plugins-release"}
		}

修改settings.gradle文件第二行和第十行

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


plugins {
	id "com.gradle.enterprise" version "3.6.1"
	//注释掉不然会A build scan was not published as you have not authenticated with server 'ge.spring.io'.
	// id "io.spring.ge.conventions" version "0.0.7"
}

修改gradle.properties文件

version=5.3.10-SNAPSHOT
org.gradle.jvmargs=-Xmx2048M
org.gradle.caching=true
org.gradle.parallel=true
kotlin.stdlib.default.dependency=false
org.gradle.configureondemand=true
org.gradle.daemon=true

修改gradle-wrapper.properties文件
在这里插入图片描述
配置如下:

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=file:///G:/gradle/gradle-6.9.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

配置基本完成,接下来验证成功了没。
spring源码给我们提供了测试方法,运行spring-context模块下的test包:
在这里插入图片描述
执行结果,基本的测试案例都能通过即可,那么环境就搭建成功了,至于源码的研究就看自己发挥了。
在这里插入图片描述

减少维护成本比减少实现成本更重要。
系统的维护成本与系统的复杂度正相关。 ——软件设计原则

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

迷梦星河

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值