Spring 源码分析环境搭建

简介

搭建Spring官方源码,方便源码研究,以及在源码中添加注释等等。

环境准备

环境准备:
1.idea
2.jdk8
3.gradle-5.6.4
4.spring源码(版本:spring-framework-5.2.12.RELEASE)

备注:
	目前Spring方便搭建的环境是JDK1.8+5.2.12.RELEASE版本,其他版本搭建比较麻烦,问题略多
    环境完全一致才能顺利通过!!!

Spring源码下载

1、GitHub - spring-projects/spring-framework: Spring Framework
2、需要RELEASE版,发行版

3、点击相对应的版本,然后看下图进行下载

gradle的安装

gradle是和maven类似的一个jar包管理工具,有兴趣的同学可以研究一下。

gradle的下载

查看需要用到的gradle版本:

spring-framework-v5.2.12.RELEASE\gradle\wrapper\gradle-wrapper.properties

Gradle下载地址:Gradle | Releases

gradle环境配置

1、解压刚刚下载的gradle压缩包
2、打开电脑的环境变量,配置GRADLE_HOME ,如下图:

 3、在系统变量 path中加入:%GRADLE_HOME%\bin

4、测试gradle是否安装完成:在cmd输入gradle -v如果出现版本号这些就算是安装成功了。

配置gradle的阿里云镜像

执行完gradle -v 在C盘用户名下会自动生成.gradle文件夹

 在该文件夹下创建文件:init.gradle,加入如下内容

allprojects {
    repositories {
        mavenLocal()
        maven { url 'https://maven.aliyun.com/repository/public/' }
        maven { url 'https://maven.aliyun.com/repository/spring/'}
  	    maven { url 'https://maven.aliyun.com/repository/google/'}
    	maven { url 'https://maven.aliyun.com/repository/gradle-plugin/'}
      	maven { url 'https://maven.aliyun.com/repository/spring-plugin/'}
      	maven { url 'https://maven.aliyun.com/repository/grails-core/'}
      	maven { url 'https://maven.aliyun.com/repository/apache-snapshots/'}
        mavenCentral()
    }
}

修改Spring源码中的一些地方

1、找到build.gradle文件并打开,注释掉一行代码,没有注释编译不会成功,如下图:

IDEA导入Spring源码

1、使用idea打开源码那个文件夹就行


2、默认就在编译,不用管就行,等到,如下图:

这里第一次我是用了7多分钟,整个过程要编译、下载jar包、idea更新索引

测试

1、点击项目名,右击鼠标新建一个module(new->model->gradle–>输入模块名称amyproject),注意选择gradle。随便命名。

第一次创建项目需要下载大量依赖包,耗时较长,9分钟。。。

2、给自己新添加的模块添加依赖:

compile(project(":spring-context"))

添加后刷新

3、代码

创建配置

package com.config;

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

@Configuration
@ComponentScan("com")
public class AppConfig {
    
}

需要注入的bean

package com.service;

import org.springframework.stereotype.Service;

@Service
public class UserService {
	public void save(){
		System.out.println("哈哈哈");
	}
}

main方法执行

package com;

import com.config.AppConfig;
import com.service.UserService;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class Main {
	public static void main(String[] args) {
		BeanFactory beanFactory = new AnnotationConfigApplicationContext(AppConfig.class);
		UserService userService = beanFactory.getBean(UserService.class);
		userService.save();
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

黑石课堂

请给我打钱!!!谢谢,不客气!

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

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

打赏作者

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

抵扣说明:

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

余额充值