Spring Framework 5.3.x源码构建 (jdk-1.8, gradle 7.5.1, idea2024.3)

1、下载jdk安装并配置环境变量(自行百度)

https://www.oracle.com/java/technologies/downloads/#java8

2、下载spring-framework源码,切换分支到5.3.x

https://github.com/spring-projects/spring-framework.git
备用地址
https://gitcode.com/gh_mirrors/sp/spring-framework

通过IDEA clone源码

3、下载gradle 7.5.1, 配置环境变量(自行百度)

https://mirrors.aliyun.com/gradle/distributions/v7.5.1/

4、配置IDEA

ctrl + alt + s 打开设置
配置IDEA的本地gradle环境
配置gradle使用本地
配置项目字节码版本
在这里插入图片描述
ctrl + alt + shift + s 打开项目结构
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5、配置 gradle/wrapper/gradle-wrapper.properties 文件参数
5.1配置gradle下载地址为本地(路径为gradle二进制文件压缩包路径)
distributionUrl=file:///D:/gradle/gradle-7.5.1-bin.zip
在这里插入图片描述
配置仓库镜像
根目录下文件\buildSrc\build.gradle

repositories {maven { url 'https://maven.aliyun.com/repository/public/' }maven { url 'https://maven.aliyun.com/repository/central' }mavenCentral()gradlePluginPortal()
}

根目录下文件\build.gradle
mavenCentral() 之前加上

			maven { url 'https://maven.aliyun.com/repository/public/' }maven { url 'https://maven.aliyun.com/repository/central' }maven { url "https://maven.aliyun.com/repository/spring-plugin" }maven { url "https://maven.aliyun.com/repository/gradle-plugin" }

在这里插入图片描述

6、新建模块,测试环境

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

添加依赖 /spring-f2-test/build.gradle
在这里插入图片描述
添加测试类

package com.lister;
public class User {String name;public User(String name) {this.name = name;}public String getName() {return name;}public void setName(String name) {this.name = name;}@Overridepublic String toString() {return "User{" +"name='" + name + '\'' +'}';}
}
package com.lister;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class JavaConfig {@Beanpublic User user(){return new User("lister");}
}
package com.lister;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
public class MainApplication {public static void main(String[] args) {AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(JavaConfig.class);User user = (User) context.getBean("user");System.out.println(user);}
}

运行MainApplication的main方法输出信息如下
在这里插入图片描述
测试spring-framework项目本地源码构建完成

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/67008.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【AI日记】25.01.12

【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】【读书与思考】 AI kaggle 比赛:Forecasting Sticker Sales 读书 书名:国家为什么会失败阅读原因:2024 年诺贝尔经济学奖得主的力作未删减版:https://book.dou…

合洁科技电子洁净工程公司分享晶圆厂百级净化车间建设的关键要点

电子厂百级净化车间的设计装修是一个复杂而精细的过程,它直接关系到电子产品的生产质量、员工的健康安全以及生产环境的稳定性。为了满足高洁净度、低污染的生产要求,设计装修过程中需要综合考虑多个方面的因素。以下是合洁科技电子净化工程公司对电子厂…

VUE3 监听器(watch)

在 Vue 3 中,监听器(watch)是用来观察响应式数据的变化,并在数据发生变化时执行相应操作的机制。watch 主要用于响应式数据变化时的副作用处理,比如异步操作、数据更新等。 1. 基础使用 在 Vue 3 中,watc…

CentOS7下Spark-2.4.3-bin-without-hadoop版本安装详细图文教程

1、该Spark版本说明 1、依赖关系 该版本不包含Hadoop的依赖库。适用于那些不直接需要Hadoop集群或者已经通过其他方式管理Hadoop依赖的用户。用户可以在不依赖Hadoop的环境中运行Spark,或者如果已有一个Hadoop环境但希望使用Spark自带的Hadoop客户端库,…

论文解析 | 基于语言模型的自主代理调查

论文 《A Survey on Large Language Model-based Autonomous Agents》 对基于大型语言模型(LLM)的自主智能体(Autonomous Agents)进行了全面调查。随着大型语言模型(如 GPT 系列、BERT、T5 等)的快速发展&a…

VSCode MAC CPP运行环境配置

使用vscode运行cpp确实挺麻烦的,需要配置几个文件,简单来说: c_cpp_properties.json 用来配置编译器和编译选项launch.json 用来配置运行时选项tasks.json 用来配置debug选项 .vscode/c_cpp_properties.json {"configurations":…

【DB-GPT】开启数据库交互新篇章的技术探索与实践

一、引言:AI原生数据应用开发的挑战与机遇 在数字化转型的浪潮中,企业对于智能化应用的需求日益增长。然而,传统的数据应用开发方式面临着诸多挑战,如技术栈复杂、开发周期长、成本高昂、难以维护等。这些问题限制了智能化应用的…

网络安全 | 什么是CC攻击防护?

关注:CodingTechWork CC攻击的介绍 CC攻击(Challenge Collapsar Attack)是一种针对Web应用程序的攻击方式,通常被称为“网站的拒绝服务攻击”(DDoS),主要通过大量伪造的HTTP请求来消耗服务器资…

docker run一个镜像如何指定最大可使用的内存大小、cpu大小

在 Docker 中,你可以通过 --memory 和 --cpus 参数来指定容器的最大内存和 CPU 限制。这样可以确保容器不会超出特定的资源限制,从而避免影响主机的其他进程。 1. 限制内存(--memory) 通过 --memory 或 -m 参数,你可…

centos9设置静态ip

CentOS 9 默认使用 NetworkManager 管理网络,而nmcli是 NetworkManager 命令行接口的缩写,是一个用来进行网络配置、管理网络连接的命令工具,可以简化网络设置,尤其是在无头(没有图形界面)环境下。 1、 cd…

单片机(MCU)-简单认识

简介: 内部集成了CPU,RAM,ROM,定时器,中断系统,通讯接口等一系列电脑的常用硬件功能。 单片机的任务是信息采集(依靠传感器),处理(依靠CPU)&…

Linux之读者写者模型与特殊锁的学习

目录 读者写者模型 特殊锁 悲观锁 自旋锁 在前几期,我们学习了多线程的生产者和消费者模型,生产者和消费者模型中,有三种关系,两个角色,一个场所,那么读者写者模型和生产者消费者模型有什么关联吗&…

mycat介绍与操作步骤

文章目录 1.分库分表2.mycat 入门2.1 概述2.2 案例:水平分表1)准备工作2)配置3)启动并测试 3.mycat 配置详解3.1 schema.xml3.2 rule.xml3.3 server.xml 4.mycat 分片:垂直拆分1)准备工作2)配置…

OSPF - 特殊报文与ospf的机制

👠1 携带FA地址的5类LSA 除去7类转5类的LSA会携带FA地址,还有一种情况会有FA地址 FA地址:forwarding address 转发地址,解决次优路径,避免环路5类LSA FA地址不为0,则直接通过FA地址去往目标网段 FA地址为0&#xff0c…

django基于Python的电影推荐系统

Django 基于 Python 的电影推荐系统 一、系统概述 Django 基于 Python 的电影推荐系统是一款利用 Django 框架开发的智能化应用程序,旨在为电影爱好者提供个性化的电影推荐服务。该系统通过收集和分析用户的观影历史、评分数据、电影的属性信息(如类型…

C语言基本知识复习浓缩版:控制语句--循环

C语言基本知识复习浓缩版:控制语句--循环 三种基本循环结构 while do-while循环 for循环 while while(条件) { //循环 } 当条件为真时,循环会一直执行 当条件为假时,循环停止 注意点:如果初始条件为假,循环体一次…

初识verilog HDL

为什么选择用Verilog HDL开发FPGA??? 硬件描述语言(Hardware Descriptipon Lagnuage,HDL)通过硬件的方式来产生与之对应的真实的硬件电路,最终实现所设计的预期功能,其设计方法与软件…

硬件设计-齐纳管

目录 摘要 详情 齐纳管的工作电流、 摘要 齐纳管(Zener Diode)是一种特殊的二极管,它能够在特定的反向电压下保持电流稳定。正常情况下,二极管只允许正向电流通过,而阻止反向电流流过。而齐纳管在一定的反向电压下可…

【算法C++】数字分组求偶数和

问题描述 小M面对一组从 1 到 9 的数字,这些数字被分成多个小组,并从每个小组中选择一个数字组成一个新的数。目标是使得这个新数的各位数字之和为偶数。任务是计算出有多少种不同的分组和选择方法可以达到这一目标。 numbers: 一个由多个整数字符串组…

如何使用Yarn Workspaces实现Monorepo模式在一个仓库中管理多个项目

Yarn Workspaces是Yarn提供的一种依赖管理机制,它支持在单个代码仓库中管理多个包的依赖。这种机制非常适合需要多个相互依赖的包的项目,能够减少重复依赖,加快依赖安装速度,并简化依赖管理。下面将详细介绍如何使用Yarn Workspac…