一、准备相应环境以及下载spring项目

Ps:此处只讲解安装gradle

1、JDK安装

2、Idea安装

3、gradle安装

Gradle下载路径:https://services.gradle.org/distributions/

Gradel配置环境变量:

a、将下载的gradle解压到本地,取出本地的全路径

b、新建环境变量GRADLE_HOME,值为Gradle的解压位置

c、配置path路径如下:%GRADLE_HOME%\bin

d、win+r输入cmd进入dos界面,键入命令gradle -v结果如图:表示安装成功

配置gradle的jar仓库

a、新建环境变量GRADLE_USER_HOME,值为Gradle的jar仓库位置。

Ps:此步骤可以不用配置可由编译器指定。

4、Git安装

5、下载spring项目

下载spring项目有2种方式,本文采用第一种方式下载

第一种:

下载路径:https://github.com/search?q=spring

找到项目:

点击上图所示项目进入如下界面:

如图先点击1所示下拉选框选择需要下载的源码版本,而后点击2的绿色按钮下载压缩包到本地。

二、Spring项目的导入

打开idea进入如下界面:

点击inport Project在弹出的页面中找到本地解压的spring项目根目录下,找到build.gradle选中并点击ok跳转到如下页面:

分别配置gradle的位置,jdk位置。

Gradle VM options可配置指定的gradle编译参数配置如下:-XX:MaxPermSize=2048m -Xmx2048m -XX:MaxHeapSize=2048m。点击ok进入idea工作界面,等待编译即可。

Ps:如果安装gradle的时候没有指定仓库可以在此处配置仓库位置

Ps:如果

此处长时间处于编译状态时可以停止编译改为手动编译

三、spring源码的编译

1、编译spring-core

win+r输入cmd进入dos界面,使用dos命令跳转至spring项目跟目录下:输入命令gradlew :spring-core:compileTestJava即可开始编译spring-core。编译完成结果如下:

2、编译spring-oxm

win+r输入cmd进入dos界面,使用dos命令跳转至spring项目跟目录下:输入命令gradlew :spring-oxm:compileTestJava即可开始编译spring-core。编译完成结果如下:

四、测试

在spring目录下新建一个model,创建如下测试类:

AppConfig配置注解类

package test;

import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;

@Configuration  //标注本类是配置类
@ComponentScan(value = "test")    //配置扫描包
//@Component(value = "")
public class AppConfig {
}

测试bean:TestBean

package test;

import org.springframework.stereotype.Component;

@Component(value = "testBean")
public class TestBean {

public TestBean() {
      System.out.println("init");
   }
}

View类:

public class View {

/**
    * 注解版视图解析
    * @param args
    */
   public static void main(String[] args) {
      AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class);
//    ac.scan("TestBean");
      TestBean bean = (TestBean) ac.getBean("testBean");
      System.out.println(bean);
   }

右键run控制台输出结果如下:

Spring5.0源码环境搭建完毕

ps:此博客仅为记录博主所学知识

spring5.0源码项目搭建的更多相关文章

  1. Spring5.0源码学习系列之浅谈BeanFactory创建

    Spring5.0源码学习系列之浅谈BeanFactory创建过程 系列文章目录 提示:Spring源码学习专栏链接 @ 目录 系列文章目录 博客前言介绍 一.获取BeanFactory主流程 二.r ...

  2. Spring5.0源码学习系列之事务管理概述

    Spring5.0源码学习系列之事务管理概述(十一),在学习事务管理的源码之前,需要对事务的基本理论比较熟悉,所以本章节会对事务管理的基本理论进行描述 1.什么是事务? 事务就是一组原子性的SQL操作 ...

  3. Spring5.0源码学习系列之Spring AOP简述

    前言介绍 附录:Spring源码学习专栏 在前面章节的学习中,我们对Spring框架的IOC实现源码有了一定的了解,接着本文继续学习Springframework一个核心的技术点AOP技术. 在学习S ...

  4. CentOS 7.0源码包搭建LNMP方法分享(实际环境下)

    CentOS 7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14 一.配置防火墙,开启80端口.3306端口 CentOS 7.0默认使用的是firewall作为防火墙,这 ...

  5. Spring5.0源码学习系列之浅谈懒加载机制原理

    前言介绍 附录:Spring源码学习专栏 在上一章的学习中,我们对Bean的创建有了一个粗略的了解,接着本文挑一个比较重要的知识点Bean的懒加载进行学习 1.什么是懒加载? 懒加载(Lazy-ini ...

  6. Spring5.0源码学习系列之浅谈循环依赖问题

    前言介绍 附录:Spring源码学习专栏 在上一章的学习中,我们对Bean的创建有了一个粗略的了解,接着本文浅谈Spring循环依赖问题,这是一个面试比较常见的问题 1.什么是循环依赖? 所谓的循环依 ...

  7. 使用idea编译spring-framework5.0源码

    自从迈入java开发这个行当,从来没有好好的研究过源码,深感惭愧,话不多说,今天上一篇使用idea编译spring5.0源码. 以下在win中构建和编译过程分为 jdk环境的配置 gradle的下载和 ...

  8. Spring5.x源码分析 | 从踩坑到放弃之环境搭建

    Spring5.x源码分析--从踩坑到放弃之环境搭建 前言 自从Spring发行4.x后,很久没去好好看过Spring源码了,加上最近半年工作都是偏管理和参与设计为主,在技术细节上或多或少有点疏忽,最 ...

  9. 使用Maven将Hadoop2.2.0源码编译成Eclipse项目

    编译环境: OS:RHEL 6.3 x64 Maven:3.2.1 Eclipse:Juno SR2 Linux x64 libprotoc:2.5.0 JDK:1.7.0_51 x64 步骤: 1. ...

随机推荐

  1. 腾讯自研万亿级消息中间件TubeMQ为什么要捐赠给Apache?

    导语 | 近日,云+社区技术沙龙“腾讯开源技术”圆满落幕.本次沙龙邀请了多位腾讯技术专家围绕腾讯开源与各位开发者进行探讨,深度揭秘了腾讯开源项目TencentOS tiny.TubeMQ.Kona J ...

  2. Scala:用于Java的轻量级函数式编程

    Scala为Java开发提供了轻量级的代码选项,但是学习过程可能会很艰难.了解有关Scala的知识以及是否值得采用. 基于Java的语言通常涉及冗长的语法和特定于领域的语言,用于测试,解析和数值计算过 ...

  3. 海思dv300cv500交叉编译webrtc

    感谢声网提供的webrtc国内源码镜像. 首先要安装好海思编译工具链和git. 先替换一下webrtc代码的仓库网址路径 git config --global user.email "10 ...

  4. [转]C#中的abstract 类和方法

    转:https://www.cnblogs.com/zzy2740/archive/2005/09/20/240808.html C#中的abstract类不能被实例化,他只提供其他类的继承的接口 u ...

  5. docker发布.net core程序的坑

    docker发布遇到的两个问题 1:Could not resolve CoreCLR path. For more details, enable tracing by setting COREHO ...

  6. C#反射与特性(七):自定义特性以及应用

    目录 1,属性字段的赋值和读值 2,自定义特性和特性查找 2.1 特性规范和自定义特性 2.2 检索特性 3,设计一个数据验证工具 3.1 定义抽象验证特性类 3.2 实现多个自定义验证特性 3.3 ...

  7. 关于javaweb开发的环境搭建(一)Tomcat

    进行Tomcat的下载及环境配置 1.下载地址   http://tomcat.apache.org/ 2.下载的注意事项   下载的Tomcat版本要与自身电脑安装的java版本相匹配,下载时,点击 ...

  8. CI框架获取post和get参数_CodeIgniter使用心得

    请参考:CI文档的输入类部分: $this->input->post()$this->input->get() -------------------------------- ...

  9. vue中动态设置echarts画布大小

    document.getElementById('news-shopPagechart').style.height = this.heightpx2+'px'; //heightpx2定义在data ...

  10. 使用iview遇到问题记录总结

    1.iview设置日期不可用,设置开始开始时间早于结束时间 官网示例,设置今天之前不可选,但是不能识别thisdisabledDate (date) { return date && ...