本地搭建Spring源码环境


声明:本人下载的Spring源码为 5.1X版本,没有单独下载gradle,采用的第一种方式,直接将Spring源码导入idea,让他自己下载所有依赖。

一、安装gradle

第一种方式

  1. 不用自己下载Gradle,不配置Gradle的的环境变量,不配置IDEA的Gradle user home(配置这个的作用:Gradle会将项目依赖的文件下载下来后。存储到该目录。不配置默认存储到用户的根目录的.gradle文件夹下)。因为当你把Spring源码导入IDEA工程时,IDEA会自动下载工程目录下Spring-Framework/gradle/wrapper/gradle-wrapper.properties中指定的Gradle版本到你的家目录的 .gradle目录下,存储路径为图中zipStorePath属性指定的路径,例如:.gradle/wrapper/dists/。

图例1:在这里插入图片描述

图例2:

在这里插入图片描述

  1. 实际上使用Gradle的确不需要自己额外安装一个Gradle,gradle的设计者考虑到gradle会频繁的升级因此每个gradle工程会带有一个gradle的目录,这个目录主要作用就是描述当前工程需要哪个版本的gradle,以及如何下载gradle. 因此你拿到别人的gradle项目,即使本机没有安装gradle,当你执行以gradlew开头的命令时会自行下载这个项目想要的gradle版本。

第二种方式

  1. 查看下载的spring源码压缩包Spring-Framework/gradle/wrapper/gradle-wrapper.properties中的当前项目所依赖的gradle版本,然后手动去下载对应的gradle版本,进行手动安装及进行环境变量的配置。
    gradle下载地址:
    https://gradle.org/releases/
    https://services.gradle.org/distributions/
  2. 安装
    1. 将下载好的压缩包解压至/usr/local/路径下
    2. 将压缩包解压至当前目录
    3. 配置环境变量
      1. mac环境配置
        (1)进入家目录:cd ~
        (2)编辑.bash_profile文件

         #GRADLE
         GRADLE_HOME=/usr/local/gradle-5.5.1
         GRADLE_USER_HOME=/Users/zhishengjie/workspace/IdeaProjects/.gradle
         PATH=$PATH:$GRADLE_HOME/bin
         PATH=$PATH:$GRADLE_USER_HOME
         export PATH
        

        其中的GRADLE_USER_HOME作用:
        纯属猜测,理性参考:
        环境变量中配置的GRADLE_USER_HOME对应 图例1[^图例1] 的distributionBase=GRADLE_USER_HOME中的GRADLE_USER_HOME

        (3)配置完成,测试:gradle -v 忽略输出的版本号,我虽然安装了,但是我没有用这个版本的gradle

        图例3: 在这里插入图片描述

      2. window环境配置
        待补充,其实很简单,自行百度吧

    4. 配置成刚安装的gradle
      在这里插入图片描述

二、下载Spring源码

一、下载地址

  1. github:https://github.com/spring-projects/spring-framework
    备注:spring源地址,下载速度慢
  2. gitee:https://gitee.com/mirrors/Spring-Framework
    备注:码云镜像源码,自动同步git上的spring源码,下载速度快
  3. 选择下载的spring源码版本,我选择是5.1X,你可以自己决定下载那个版本

图例4:

在这里插入图片描述

二、导入idea

图例5: 在这里插入图片描述
图例6: 在这里插入图片描述
图例7: 丢失了 文字说明:选 as a project

三、配置idea

  1. 如果你不配置任何gradle的相关设置,spring源码导进来之后会自动下载工程目录下Spring-Framework/gradle/wrapper/gradle-wrapper.properties中指定的Gradle版本到你的家目录的 .gradle目录下

  2. 使用你自己安装的gradle
    图例8:在这里插入图片描述

  3. 将gradle中的原镜像修改为阿里的镜像,可以提升依赖文件的下载速度
    。。。找了一堆资料,可是没有一个看懂是怎么配置的😌,所以我就没有配置,结果就是,依赖文件我下载了三四个小时吧,中间遇到有文件下载超时的情况,但是多下载几次就成功了
    如果有大佬看到希望可以指点一下。

  4. 经过漫长的等待… … 后,项目就导入成功了。
    图例9:在这里插入图片描述

  5. 此时源码的环境已经搭建好了。然后我们查看工程下的import-into-idea.md文档,根据说明Precompile spring-oxm with ./gradlew :spring-oxm:compileTestJava使用idea对spring-oxm进行编译,等待显示success即可。
    图例10:在这里插入图片描述

  6. 这一步应该不需要,感觉没必要。build耗时个小时。
    buid一下整个工程,等待显示success
    图例11:在这里插入图片描述

四、新建测试工程

  1. 新建Module
    图例11: 在这里插入图片描述

  2. 新建
    图例12: 在这里插入图片描述

  3. 图例13: 在这里插入图片描述

  4. 修改新建工程下的build.gradle文件

plugins {
    id 'java'
}

group 'org.springframework'
version '5.1.21.BUILD-SNAPSHOT'

repositories {
    mavenCentral()
}
dependencies {
	// -----------------------------------------
    compile(project(":spring-beans"))     // 新增
    compile(project(":spring-context"))   // 新增
    // -----------------------------------------
    testCompile group: 'junit', name: 'junit', version: '4.12'
}

图例14: 在这里插入图片描述

  1. Reload Gradle Project
    将我们在build.gradle文件新增的spring-beans依赖导入进来
    在这里插入图片描述
  2. 到此spring-zhi-test应用的配置就完成了,然后创建测试类
  3. 创建MyTestBean.java
package com.zsj.core.test.controller;

public class MyTestBean {

	public void outStr() {
		System.out.println("我是猪!!!");
	}
}
  1. 创建Test
package com.zsj.core.test.controller;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Test {
	public static void main(String[] args) {
		ApplicationContext ac = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
		MyTestBean bean = (MyTestBean) ac.getBean("myTestBean");
		bean.outStr();
	}
}

  1. 在resources下新建applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="myTestBean" class="com.zsj.core.test.controller.MyTestBean"/>
</beans>

图例15:在这里插入图片描述

  1. 最后运行Test类中的main方法,显示success,成功🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮🤮
    图例16:在这里插入图片描述

三、最后 附:git地址

https://github.com/ice-YuLi/Spring-Framework

疑问:为什么我build自己建的应用报错,应该怎么改,望路过的大神指点一下
在这里插入图片描述

Execution failed for task ':spring-zhi-test:checkstyleMain'.
> Checkstyle rule violations were found. See the report at: file:///Users/zhishengjie/workspace/IdeaProjects/Spring-Framework/spring-zhi-test/build/reports/checkstyle/main.html
  Checkstyle files with violations: 2
  Checkstyle violations by severity: [error:5]

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值