Spring源码下载与测试

引言

下载了Spring源码想阅读阅读,发现用的是Gradle,原来实习的时候公司用的也是Gradle,但不怎么会用,感觉相比于Maven,Gradle更适合非常大型的项目,因为他的jar包下载的是真快

下载

由于Spring6开始就强制使用jdk17了,但现在大部分公司使用的还是jdk8,所以还是重点学习Spring5。Github搜索spring-framework,选择5.3.x版本,直接下载zip包,本地打开Spring
我发现gradle怎么拉都拉不下来,一直在down gradle-7.5.1
在这里插入图片描述
打开gradle-wrapper.properties
在这里插入图片描述按着这网址下载它要的版本和zip包
在这里插入图片描述去.gradle/wrapper/dists/gradle-7.5.1-bin下找到生成的一长串乱符,把下载的包放到这下面
setting.gradle文件可以修改为阿里云镜像,下载方便点

pluginManagement {
	repositories {
		maven { url 'https://maven.aliyun.com/repository/public' }
		mavenCentral()
		gradlePluginPortal()
		maven { url "https://repo.spring.io/release" }
	}
}

重启IDEA
会发现gradle的包都在自动下载了

测试

下载完后,怎么进行Spring测试呢

修改Gradle存储路径和Home

存储路径

GRADLE_USER_HOME
在这里插入图片描述

Home

GRADLE_HOME
在这里插入图片描述

gradle -version

在这里插入图片描述

过程中出现的问题

1

Unable to start the daemon process.
This problem might be caused by incorrect configuration of the daemon.
For example, an unrecognized jvm option is used.
Please refer to the User Manual chapter on the daemon at https://docs.gradle.org/5.6.4/userguide/gradle_daemon.html
Process command line: C:\Program Files (x86)\Java\jdk1.8.0_73\bin\java.exe -Xmx2048m -Dfile.encoding=UTF-8 -Duser.country=CN -Duser.language=zh -Duser.variant -cp C:\Users\86195\.gradle\wrapper\dists\gradle-5.6.4-all\bpbuw2gezmae6urm63fek626l\gradle-5.6.4\lib\gradle-launcher-5.6.4.jar org.gradle.launcher.daemon.bootstrap.GradleDaemon 5.6.4
Please read the following process output to find out more:
-----------------------
Error occurred during initialization of VM
Could not reserve enough space for 2097152KB object heap

-----------------------
Check the JVM arguments defined for the gradle process in:
 - gradle.properties in project root directory

解决方法

在项目的根目录中查找 gradle.properties 文件,并调整 org.gradle.jvmargs 设置。你可以尝试将其设置为更小的值,如:-Xmx1024m -Xmx512m,以减少分配给对象堆的内存大小。

2

Error:Connection timed out: connect. 
If you are behind an HTTP proxy, please configure the proxy settings either in IDE or Gradle

解决方法

看这个错就能知道proxy问题,我确实也开了vpn,那么感觉是vpn问题
查了查没查到什么,后面发现这是最上层的报错,里面还有报错

The server may not support the client's requested TLS protocol versions: (TLSv1.2). 
You may need to configure the client to allow other protocols to be used. 
See: https://docs.gradle.org/7.5.1/userguide/build_environment.html#gradle_system_properties

都让see这个网址了,那就see see
在这里插入图片描述
找到了关键点,照着官网说的在gradle.properties添加

systemProp.http.proxyHost=127.0.0.1
systemProp.http.proxyPort=7897(vpn端口号)
systemProp.https.proxyHost=127.0.0.1
systemProp.https.proxyPort=7897(vpn端口号)

build gradle,开始下载了

Spring版本

2013 年 12 月,Spring4发布,支持JDK6-8

全面支持 Java 8,包括 Lambda 表达式和日期/时间 API。
引入 @RestController 和 ResponseEntity,增强对 RESTful Web 服务的支持。
提供 WebSocket 支持。
引入 @CrossOrigin 注解,简化跨域请求的处理。

2017 年 9 月,Spring5发布,支持JDK8-11

最低要求 JDK 8。
日志整合,使用 spring-jcl 模块替代 commons-logging。
引入 @CrossOrigin 注解,简化跨域请求的处理。
添加 WebFlux 模块,支持响应式编程。
支持 Kotlin 语言。
对 Java 9 及更高版本的支持。
强化对微服务和云原生应用的支持。

2022 年 11 月,Spring6发布,最低要求JDK17

最低要求 JDK 17。
迁移到 Jakarta EE 9 命名空间。
增强对响应式编程的支持。
改进对 Kotlin 的支持。
引入对 GraalVM 本地映像的支持。(AOT-提前编译)
改进对微服务和云原生应用的支持。

SpringBoot版本

2013 年 4 月,Spring Boot 1.x发布,支持JDK6-8

自动配置:根据项目的类路径和其他条件,自动配置 Spring 应用程序。
内嵌服务器支持:内嵌 Tomcat、Jetty 和 Undertow 等服务器,简化部署。
起步依赖(Starters):提供一组预配置的依赖,简化构建配置。

2018 年 3 月,Spring Boot 2.x发布,支持JDK8-11

支持 Spring Framework 5.x:引入对响应式编程的支持。
改进的起步依赖:提供更多的起步依赖,简化常见功能的集成。
增强的 Actuator:提供更多的生产就绪功能,如健康检查、指标等。

2022 年 11 月,Spring Boot 3.x发布,最低有球JDK17

最低要求 JDK 17:提升性能和安全性。
支持 Spring Framework 6.x:引入对 Jakarta EE 9 的支持。
增强的响应式编程支持:改进对 WebFlux 的支持。
改进的配置属性绑定:提供更强大的配置属性绑定功能。

从时间也可以推断出,1.x对应Spring4,2.x对应Spring5,3.x对应Spring6

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值