1-Spring架构源码分析-Spring源码搭建

专栏目录

  1. 1-Spring架构源码分析-Spring源码搭建
  2. 2-Spring架构源码分析-SSM框架说明
  3. 3-Spring架构源码分析-spring体系
  4. 4-Spring架构源码分析-Spring IOC机制设计思想和源码解读
  5. 5-Spring架构源码分析-Spring IOC之 Spring 统一资源加载策略
  6. 6-Spring架构源码分析-IoC 之加载 BeanDefinition
  7. 7-Spring架构源码分析-IoC 之注册 BeanDefinitions
  8. 8-Spring架构源码分析-IoC 之解析Bean:解析 import 标签
  9. 9-Spring架构源码分析-IoC 之解析 bean 标签:开启解析进程
  10. 10-Spring架构源码分析-IoC 之解析 bean标签:BeanDefinition
  11. 11-Spring架构源码分析-IoC 之注册解析的 BeanDefinitions
  12. 12-Spring架构源码分析-IoC 之装载 BeanDefinitions 总结
  13. 13-Spring架构源码分析-IoC 之开启 Bean 的加载
  14. 14-Spring架构源码分析-IoC 之加载 Bean:总结
  15. 15-Spring架构源码分析-Spring代理与AOP
  16. 16-Spring AOP源码分析-@EnableAspectJAutoProxy和AspectJAutoProxyRegistrar
  17. 17-Spring AOP源码分析-AnnotationAwareAspectJAutoProxyCreator
  18. 18-Spring AOP源码分析-AOP与BeanPostProcessor处理器
  19. 19-Spring AOP源码分析-代理对象调用目标方法
  20. 20-spring mvc设计思想和源码解读-spring mvc 功能特性
  21. 21-mvc 体系结构源码详解
  22. 22-Spring MVC源码跟踪
  23. 23-Spring事务源码分析

Spring 5.0源码搭建

源码下载

# 国内镜像地址
git clone https://gitee.com/mirrors/Spring-Framework.git
cd Spring-Framework
# 切换tag
git checkout -b "v5.0.2.RELEASE" v5.0.2.RELEASE

配置gradle

Idea自动下载方案(推荐)

打开idea 设置

在这里插入图片描述

手动安装方案(不推荐)

查看版本

查看spring依赖的gradle版本

代码路径 Spring-Framework/gradle/wrapper/gradle-wrapper.properties

distributionUrl=https\://services.gradle.org/distributions/gradle-4.3.1-all.zip

版本为gradle-4.3.1

下载gradle

官网下载地址:https://gradle.org/releases/

这里有不同的版本提供下载

在这里插入图片描述

配置gradle环境变量

前提需要先配置jdk1.7或1.8的环境变量

windows
系统变量中新建变量

GRADLE_HOME

E:\workspace\gradle\gradle-4.3.1

编辑Path

%GRADLE_HOME%\bin

验证是否配置成功,进入cmd后,输入gradle -v,显示环境配置

参考https://blog.csdn.net/xudaliang_/article/details/79213891

mac
# 编辑环境变量
vim ~/.bash_profile
GRADLE_HOME=/Users/xianghan/work/gradle-4.3.1
export GRADLE_HOME
export PATH=$PATH:$GRADLE_HOME/bin
# 保存文件
# 加载环境变量
source .bash_profile
# 验证
gradle --version

编译代码

spring目录下执行命令:./gradlew :spring-oxm:compileTestJava(Windows环境下是执行gradlew.bat

下图是编译成功结果

在这里插入图片描述

如果编译过程很慢,可以尝试修改maven仓库,再执行上面的命令

Spring-Framework/gradle/wrapper/gradle-wrapper.properties

repositories {
   //在此处加上这么一行
   maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }//新增阿里云maven私服
   maven { url "https://repo.spring.io/libs-release" }
   maven { url "https://repo.spring.io/milestone" }  // for AspectJ 1.9 beta
}

导入IDEA

编译好源码后我们需要导入到Idea中进行调试,当然你也可以选择eclipse进行调试。

第一步:选择import project ,然后选择spring项目文件夹下面的build.gradle文件,选择后效果如下:

在这里插入图片描述

点击ok就会进入项目,然后Gradle会进行相关的依赖包下载。

手动构建方法

在这里插入图片描述

构建完成后

在这里插入图片描述

创建自定义模块

新建模块

在这里插入图片描述

点击next,输入模块名称

确定,创建成功

在这里插入图片描述

修改依赖配置

Spring-Framework/nx-spring/build.gradle

修改如下

dependencies {
    compile(project(":spring-context"))
    compile(project(":spring-instrument"))
    testCompile group: 'junit', name: 'junit', version: '4.12'
}

新增package com.nx

创建spring 扫描配置类

package com.nx;

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

@Component
@ComponentScan("com.nx")
public class AnnotatedScanConfig {

}

创建一个service

package com.nx;

import org.springframework.stereotype.Service;

@Service
public class AppService {
   public void say() {
      System.out.println("NX NX NX !!!");
   }
}

定义一个测试类

package com.nx;

import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class MainTest {
   public static void main(String[] args) {
      AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(AnnotatedScanConfig.class);
      AppService appService=context.getBean(AppService.class);
      appService.say();
   }
}

编译代码

点击步骤1 刷新后出现nx-spring

步骤2 点击build 执行完成后 在nx-spring后出现build文件夹,里面是编译的classes等文件

在这里插入图片描述

运行模块

执行MainTest的main方法

在这里插入图片描述

专栏目录

  1. 1-Spring架构源码分析-Spring源码搭建
  2. 2-Spring架构源码分析-SSM框架说明
  3. 3-Spring架构源码分析-spring体系
  4. 4-Spring架构源码分析-Spring IOC机制设计思想和源码解读
  5. 5-Spring架构源码分析-Spring IOC之 Spring 统一资源加载策略
  6. 6-Spring架构源码分析-IoC 之加载 BeanDefinition
  7. 7-Spring架构源码分析-IoC 之注册 BeanDefinitions
  8. 8-Spring架构源码分析-IoC 之解析Bean:解析 import 标签
  9. 9-Spring架构源码分析-IoC 之解析 bean 标签:开启解析进程
  10. 10-Spring架构源码分析-IoC 之解析 bean标签:BeanDefinition
  11. 11-Spring架构源码分析-IoC 之注册解析的 BeanDefinitions
  12. 12-Spring架构源码分析-IoC 之装载 BeanDefinitions 总结
  13. 13-Spring架构源码分析-IoC 之开启 Bean 的加载
  14. 14-Spring架构源码分析-IoC 之加载 Bean:总结
  15. 15-Spring架构源码分析-Spring代理与AOP
  16. 16-Spring AOP源码分析-@EnableAspectJAutoProxy和AspectJAutoProxyRegistrar
  17. 17-Spring AOP源码分析-AnnotationAwareAspectJAutoProxyCreator
  18. 18-Spring AOP源码分析-AOP与BeanPostProcessor处理器
  19. 19-Spring AOP源码分析-代理对象调用目标方法
  20. 20-spring mvc设计思想和源码解读-spring mvc 功能特性
  21. 21-mvc 体系结构源码详解
  22. 22-Spring MVC源码跟踪
  23. 23-Spring事务源码分析
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xianghan收藏册

极简精品作,一分也是一份鼓励哦

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值