源码配置——基于Gradle搭建spring-framework-6.2.15版本阅读环境

基于Gradle搭建spring-framework-6.2.15版本阅读环境

此处我将以我的环境配置进行搭建,以供大家作为参考。

一:前提环境

  • spring-framework-6.2.15:要求 JDK 17+
  • JDK:java version "17.0.5" 2022-10-18 LTS
  • Gradle:Gradle 8.12.1
  • Idea:IntelliJ IDEA 2024.1 (Ultimate Edition)
  • 操作系统:Windows 11 专业版

二:配置Gradle

这里我默认你的电脑已经安装了 JDK 17以及 IntelliJ IDEA

2.1 官网下载并解压

官网地址:https://gradle.org/



点击后,就会下载一个压缩包:gradle-8.12.1-bin.zip

解压缩一个目录中(以我为例,我解压缩的路径为:D:\environment\Develop\gradle-8.12.1)

2.2 进行配置

首先,在当前目录下,创建一个文件夹,名字为:repository

然后点击进入init.d文件夹,在该文件夹中创建一个文件,名字为:init.gradle,内容如下:

text 复制代码
allprojects {
    repositories {
        mavenLocal()
        maven { name "Alibaba" ; url "https://maven.aliyun.com/repository/public" } 
        maven { name "Bstek" ; url "https://nexus.bsdn.org/content/groups/public/" } 
        mavenCentral()
    }
    buildscript {
        repositories {
            maven { name "Alibaba" ; url 'https://maven.aliyun.com/repository/public' } 
            maven { name "Bstek" ; url 'https://nexus.bsdn.org/content/groups/public/' } 
            maven { name "M2" ; url 'https://plugins.gradle.org/m2/' }
        }
    }
}

2.3 环境变量

在系统变量中配置:

  • GRADLE_HOME:内容为你解压缩的目录
  • GRADLE_USER_HOME:内容为解压缩目录中创建的repository路径

    接着把GRADLE_HOME放入Path变量中:%GRADLE_HOME%\bin

    然后点击确定即可生效,在CMD窗口输入 gradle -v,出现这个界面即成功!

三:搭建Spring源码环境

3.1 下载Spring源码

Github地址:spring-6.2.15

下载后解压缩,然后用IDEA打开解压后的目录

3.2 IDEA配置

首先把所有的编码方式改成UTF-8,防止乱码:【Settings】-->【Editor】-->【File Encodings】

接着配置一下Maven仓库地址,这是因为Gradle会使用到Maven仓库:【Settings】-->【Build,Execution,Deployment】-->【Build Tools】-->【Maven】注意这里配置你自己的Maven仓库地址即可

最后,配置Gradle:【Settings】-->【Build,Execution,Deployment】-->【Build Tools】-->【Gladle】

值得注意的是,第一次配置时的页面和这个页面不同,不过【Gradle user home】这一项是有的,要配置成你的Gradle仓库地址,然后等开始构建后,如果有报错,再打开此页面,就有更多内容。其余内容参考本配置!

最后,要设置项目SDK:光标放在【File】上-->【Project Structure】,选择JDK 17

然后IDEA就可自动进行编译了,等编译完成,就会看到:

这就代表成功!

四:测试

首先,需要修改一下配置:【Settings】-->【Build,Execution,Deployment】-->【Build Tools】-->【Gladle】,将【Build and run using】和【Run tests using】修改为【IntelliJ IDEA】

然后在spring-contextsrc/test/java目录下,创建该类:org.springframework.debug.SpringCoreDebugLauncher,具体内容为:

java 复制代码
package org.springframework.debug;

import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

public class SpringCoreDebugLauncher {
	public static void main(String[] args) {
		// 1. 初始化容器
		System.out.println("--- 准备启动 Spring 容器 ---");
		AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(TestConfig.class);

		// 2. 使用 Bean
		TestBean bean = context.getBean(TestBean.class);
		bean.sayHello();

		// 3. 关闭容器
		context.close();
	}

	@Configuration
	static class TestConfig {
		@Bean
		public TestBean testBean() {
			return new TestBean();
		}
	}

	static class TestBean {
		public void sayHello() {
			System.out.println("Hello, Spring Source!");
		}
	}
}

运行,出现:

即测试成功,如果有帮助到您,劳烦您动一下发财的小手为我点个赞,感谢!

相关推荐
篱笆院的狗15 小时前
Java 中的 DelayQueue 和 ScheduledThreadPool 有什么区别?
java·开发语言
2501_9418091415 小时前
面向多活架构与数据地域隔离的互联网系统设计思考与多语言工程实现实践分享记录
java·开发语言·python
qualifying16 小时前
JavaEE——多线程(4)
java·开发语言·java-ee
better_liang16 小时前
每日Java面试场景题知识点之-DDD领域驱动设计
java·ddd·实体·领域驱动设计·架构设计·聚合根·企业级开发
li.wz16 小时前
Spring Bean 生命周期解析
java·后端·spring
sanggou16 小时前
【实战总结】Spring Boot 后端接口防抖详解与实现方案(含注解 + Redis)
spring boot·后端
czlczl2002092517 小时前
深入解析 ThreadLocal:架构演进、内存泄漏与数据一致性分析
java·jvm·架构
Victor35617 小时前
Hibernate(26)什么是Hibernate的透明持久化?
后端
盖世英雄酱5813617 小时前
不是所有的this调用会导致事务失效
java·后端
Victor35617 小时前
Hibernate(25)Hibernate的批量操作是什么?
后端