spring源码搭建_spring实战

spring源码搭建_spring实战在构建spring源码前,我们首先要准备好环境。spring5.x版本需要jdk1.8及以上版本的支持,jdk版本过低的同学请先升级,这里不做过多累赘。从spring5.0开始采用Gradle编译,所以需要先安装gradle,spring5官方推荐的版本gradle4.0,下载解压后按以下步骤操作即可。第一步,配置环境变量。第二步,添加环境变量“%GRADLE_HOME%\bin”。第三步,检测环境,输入

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

 一、环境准备

        工欲善其事,必先利其器。

        在构建spring源码前,我们首先要准备好环境。spring 5.x版本需要jdk1.8及以上版本的支持,jdk版本过低的同学请先升级,这里不做过多累赘。

        从spring 5.0开始采用Gradle编译,所以需要先安装gradle,spring 5官方推荐的版本gradle 4.0,下载解压后按以下步骤操作即可。

        第一步,配置环境变量。

        spring源码搭建_spring实战

        第二步,添加环境变量“%GRADLE_HOME%\bin”。

        spring源码搭建_spring实战

        第三步,检测环境,输入gradle -v命令,如果版本显示正常,说明安装成功。 

        spring源码搭建_spring实战

二、源码下载

        从Spring 3.0开始,Spring源码采用GitHub托管,不再提供官网下载链接。这里不做过多赘述,大家可自行去GitHub网站下载,我使用的版本为:v5.1.0.RELEASE,下载完成后,解压源码包会看到如下图所示的文件目录。 

       spring源码搭建_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" }
}

        第二步,切换到项目目录,使用 gradlew :spring-oxm:compileTestJava 命令进行编译。

       spring源码搭建_spring实战

                                               备注:以上报错信息无需关注

        常见错误:

        1.unauthorized

        spring源码搭建_spring实战

         原因分析及解决方案:

                spring.io认证失败,需要登录才能下载,用aliyun仓库替代替,修改setting.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" }
			
}

        第三步,将源码导入到idea 。

        按照以下步骤进行导入,导入后自动进入builder,过程较为漫长,请耐心等待。

        file->new->Project from Existing Source.

        spring源码搭建_spring实战

        spring源码搭建_spring实战 

        spring源码搭建_spring实战 

         构建成功

        spring源码搭建_spring实战

四、测试

        第一步,新建模块(项目右键->new->Module)

        spring源码搭建_spring实战

        spring源码搭建_spring实战 

        第二步,添加依赖。

compile(project(":spring-context"))
compile(project(":spring-instrument"))

        spring源码搭建_spring实战 

        第三步,编写测试类。

public class User {
	private Integer id;
	private String name = "不才";

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
}
@Configuration
@ComponentScan("com.test.bean")
public class Test {

	public static void main(String[] args) {
		ApplicationContext context = new AnnotationConfigApplicationContext(Test.class);
		User user = context.getBean(User.class);
		System.out.println(user.getName());
	}
}

        正常输出,大功告成。

        spring源码搭建_spring实战

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/170030.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • rootfs文件系统_bootfs和rootfs

    rootfs文件系统_bootfs和rootfs一、/linuxrc1./linuxrc是一个可执行的应用程序(1)/linuxrc是应用层的,和内核源码一点关系都没有。(2)/linuxrc在开发板当前系统下是可执行的。因此在ARMSoC的linux系统下,这个应用程序就是arm-linux-gcc编译链接的;如果是在PC机linux系统下,那么这个程序就是用gcc编译链接的。(3)/linuxrc如果是静态编译链接的,那…

    2022年10月7日
    3
  • 数据库 模式 视图 索引

    数据库 模式 视图 索引1、外模式、模式、内模式之间的区别及其映射关系       从数据库管理系统角度看,数据库系统通常采用三级模式结构:外模式、模式、内模式,这是数据库管理系统内部的系统结构。在数据模型中有“型”(Type)和“值”(Value)的概念。型是指对某一类数据的结构和属性的说明,值是型的一个具体赋值。数据库系统的模式是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及到型的描述,不涉及具体的值。模式的…

    2022年7月22日
    13
  • IntelliJ IDEA 社区版使用指南

    IDEA的专业版商用是需要付费的,不建议大家在工作中使用破解的软件。大家完全可以使用社区版,最棒的就是大家都可以贡献插件,本文从性能调优和安装插件两个方面来阐述社区版在使用过程中需要如何操作。 0.写在前…

    2022年3月13日
    808
  • matlab 自动保存图片_matlab保存图像

    matlab 自动保存图片_matlab保存图像最近在写毕业论文,需要保存一些高分辨率的图片.下面介绍几种MATLAB保存图片的方式.一.直接使用MATLAB的保存按键来保存成各种格式的图片你可以选择保存成各种格式的图片,实际上对于一般的图片要求而言,该方法已经足够了.二.使用saveas函数该函数实际上类似于“另存为”的选项,并且忽略图片的背景大小等等,按照默认的属性存储.一般格式为为saveas(fig,filen…

    2025年11月4日
    3
  • sublimetext3 激活码(最新序列号破解)

    sublimetext3 激活码(最新序列号破解),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月19日
    1.2K
  • 电商社交数据在大数据风控的应用实践

    电商社交数据在大数据风控的应用实践

    2022年3月3日
    28

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号