spring5.0源码项目搭建
一、准备相应环境以及下载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源码项目搭建的更多相关文章
- Spring5.0源码学习系列之浅谈BeanFactory创建
Spring5.0源码学习系列之浅谈BeanFactory创建过程 系列文章目录 提示:Spring源码学习专栏链接 @ 目录 系列文章目录 博客前言介绍 一.获取BeanFactory主流程 二.r ...
- Spring5.0源码学习系列之事务管理概述
Spring5.0源码学习系列之事务管理概述(十一),在学习事务管理的源码之前,需要对事务的基本理论比较熟悉,所以本章节会对事务管理的基本理论进行描述 1.什么是事务? 事务就是一组原子性的SQL操作 ...
- Spring5.0源码学习系列之Spring AOP简述
前言介绍 附录:Spring源码学习专栏 在前面章节的学习中,我们对Spring框架的IOC实现源码有了一定的了解,接着本文继续学习Springframework一个核心的技术点AOP技术. 在学习S ...
- CentOS 7.0源码包搭建LNMP方法分享(实际环境下)
CentOS 7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14 一.配置防火墙,开启80端口.3306端口 CentOS 7.0默认使用的是firewall作为防火墙,这 ...
- Spring5.0源码学习系列之浅谈懒加载机制原理
前言介绍 附录:Spring源码学习专栏 在上一章的学习中,我们对Bean的创建有了一个粗略的了解,接着本文挑一个比较重要的知识点Bean的懒加载进行学习 1.什么是懒加载? 懒加载(Lazy-ini ...
- Spring5.0源码学习系列之浅谈循环依赖问题
前言介绍 附录:Spring源码学习专栏 在上一章的学习中,我们对Bean的创建有了一个粗略的了解,接着本文浅谈Spring循环依赖问题,这是一个面试比较常见的问题 1.什么是循环依赖? 所谓的循环依 ...
- 使用idea编译spring-framework5.0源码
自从迈入java开发这个行当,从来没有好好的研究过源码,深感惭愧,话不多说,今天上一篇使用idea编译spring5.0源码. 以下在win中构建和编译过程分为 jdk环境的配置 gradle的下载和 ...
- Spring5.x源码分析 | 从踩坑到放弃之环境搭建
Spring5.x源码分析--从踩坑到放弃之环境搭建 前言 自从Spring发行4.x后,很久没去好好看过Spring源码了,加上最近半年工作都是偏管理和参与设计为主,在技术细节上或多或少有点疏忽,最 ...
- 使用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. ...
随机推荐
- DEVOPS技术实践_20:串联多个job执行
在jenkins可能会有战役中场景,就是在一个job执行完之后,把这个执行结果作为另一个job的执行条件 比如A执行完,如果A执行成功,则执行B,如果失败则执行C 1 前期准备 A任务 import ...
- linux 双Redis + keepalived 主从复制+宕机自主切换
主要核心思想,如果master 和 salve 全部存活的情况,VIP就漂移到 master.读写都从master操作,如果master宕机,VIP就会漂移到salve,并将之前的salve切换为ma ...
- Word List 1 part 1
inter- 在....之间 intermediate adj. 中间的 pro- 向前,在前;很多;赞同;亲... proportion n. 比例;部分 prim- 第一,主要的 prime ad ...
- 【原创】(十五)Linux内存管理之RMAP
背景 Read the fucking source code! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: Kernel版本: ...
- linux条件变量使用和与信号量的区别
近来在项目中用到条件变量和信号量做同步时,这一块一直都有了解,但也一直没有总结,这次总结一下,给大家提供点参考,也给自己留点纪念. 首先,关于信号量和条件变量的概念可以自行查看APUE,我这直接把AP ...
- .net core 开车记:Data Protection Key 过期问题与登录页面访问慢
K8s 船还没修好,.net core 车又出了问题,开着 k8s 豪华邮轮.飚着 .net core 极品飞车的好事真是多磨. 自从我们用上 .net core ,就一直被 .net core 的一 ...
- spring boot中使用freemarker
在做Java web开发领域,web模板引擎主要有jsp.freemarker.velocity,其中freemarker是我们常用的一种,在spring boot中使用的freemarker的方法可 ...
- 负载均衡之ribbon
一.什么是负载均衡? 做web开发都会接触到负载均衡,这里我们就不细说了. (摘自百度百科)负载均衡,英文名称为Load Balance,其含义就是指将负载(工作任务)进行平衡.分摊到多个操作单元上进 ...
- C# Datatable 添加列
DataTable dt = new DataTable("Datas"); DataColumn dc = null; //dt新增列 dc=dt.Columns.Add(&qu ...
- Spring多数据源动态切换
title: Spring多数据源动态切换 date: 2019-11-27 categories: Java Spring tags: 数据源 typora-root-url: ...... --- ...