一、准备相应环境以及下载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. DEVOPS技术实践_20:串联多个job执行

    在jenkins可能会有战役中场景,就是在一个job执行完之后,把这个执行结果作为另一个job的执行条件 比如A执行完,如果A执行成功,则执行B,如果失败则执行C 1 前期准备 A任务 import ...

  2. linux 双Redis + keepalived 主从复制+宕机自主切换

    主要核心思想,如果master 和 salve 全部存活的情况,VIP就漂移到 master.读写都从master操作,如果master宕机,VIP就会漂移到salve,并将之前的salve切换为ma ...

  3. Word List 1 part 1

    inter- 在....之间 intermediate adj. 中间的 pro- 向前,在前;很多;赞同;亲... proportion n. 比例;部分 prim- 第一,主要的 prime ad ...

  4. 【原创】(十五)Linux内存管理之RMAP

    背景 Read the fucking source code! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: Kernel版本: ...

  5. linux条件变量使用和与信号量的区别

    近来在项目中用到条件变量和信号量做同步时,这一块一直都有了解,但也一直没有总结,这次总结一下,给大家提供点参考,也给自己留点纪念. 首先,关于信号量和条件变量的概念可以自行查看APUE,我这直接把AP ...

  6. .net core 开车记:Data Protection Key 过期问题与登录页面访问慢

    K8s 船还没修好,.net core 车又出了问题,开着 k8s 豪华邮轮.飚着 .net core 极品飞车的好事真是多磨. 自从我们用上 .net core ,就一直被 .net core 的一 ...

  7. spring boot中使用freemarker

    在做Java web开发领域,web模板引擎主要有jsp.freemarker.velocity,其中freemarker是我们常用的一种,在spring boot中使用的freemarker的方法可 ...

  8. 负载均衡之ribbon

    一.什么是负载均衡? 做web开发都会接触到负载均衡,这里我们就不细说了. (摘自百度百科)负载均衡,英文名称为Load Balance,其含义就是指将负载(工作任务)进行平衡.分摊到多个操作单元上进 ...

  9. C# Datatable 添加列

    DataTable dt = new DataTable("Datas"); DataColumn dc = null; //dt新增列 dc=dt.Columns.Add(&qu ...

  10. Spring多数据源动态切换

    title: Spring多数据源动态切换 date: 2019-11-27 categories: Java Spring tags: 数据源 typora-root-url: ...... --- ...