idea+gradle中spring源码编译以及在自己的项目中运行

1.概述

之所以写这个博客是因为在我编译spring源码路上困难重重,我根据别的作者写的博客试了好多次,下载了4个版本的spring,下载了4个版本的gradle,说多了都是累o(TヘTo),所以自己写了博客,一是为了其他人的学习,二是为了自己以后忘了可以看看。

2.版本控制

  1. 这个spring源码编译对于这个版本是非常严格的,至少对于我来说是这个样的。
  2. jdk要1.8以上的。
  3. spring版本5以上可以去我的网盘下载:链接: https://pan.baidu.com/s/1WrifB9iCOhB2vVq7Q5v7ag 提取码: mqyr,
  4. gradle版本,这个我建议先下载spring源码后,看spring目录中的build.gradle文件中的gradleVersion字段,直接搜索,然后根据这个版本去下载相应的版本。gradle安装我就不说了,给个链接自己去操作吧。https://www.cnblogs.com/wumz/p/10948908.html,,,,你们要想一会在idea中编译spring源码中快一点,我建议你们在安装完gradle后配置一下阿里云的镜像仓库,配置方法

     

  5. 下载好了在运行cmd打开dos Terminal,进入到你的springframework项目的目录下,运行gradlew.bat,我这边这个没有出现问题,但我不保证你们不出问题,,主要是你们的版本一定要控制好。
  6. 等spring依赖的jar包都下载好以后,用idea打开spring项目,打开的时候idea会让你配置gradle的地址。跟这个我这个配置就行了。需要注意的是配置Service directory path的时候,这个意思是gradle的本地仓库地址,配置下面这个之前你需要先配置环境变量,也就是第一张图片。如果你想一会在idea中编译spring源码的时候快一点我建议你在gradle中配置阿里云的镜像仓库,配置方法:你在安装gradle目录下gradle-4.4.1\init.d这个目录下添加这个文件就可以了。
    链接: https://pan.baidu.com/s/10vBghYnc2pSOLRoJBFb0Ig 提取码: 627i 

  7. 进入idea中会自动编译,我这边可能是由于版本控制所以一次编译通过。


 

 

3.编写自己module,运行

  1. 在spring项目编译好后,创建你自己的module


  2. 起自己的模块名字

  3. 创建完后需要在build.gradle中配置一下引入spring-context子模块,在dependencies中添加下面2句:

        compile project(':spring-context')
        testCompile group: 'junit',name: 'junit',version: '4.12

     

  4. 在自己的项目中创建2个包


  5. 分别是配置类和spring容器管理的bean类

    package study.dao;
    
    import org.springframework.stereotype.Component;
    
    /*这个是bean类*/
    @Component
    public class TestBean {
    	public void print() {
    		System.out.println("自己构建的第一个spring源码项目");
    	}
    }
    
    package study.service;
    
    import org.springframework.context.annotation.ComponentScan;
    import org.springframework.context.annotation.Configuration;
    /*这个是配置类,配置spring该扫描哪个包下的注解*/
    @ComponentScan("study")
    @Configuration
    public class TestSpringResource {
    }
    

     

  6. 在test中创建test类,就可以运行了。


    import org.springframework.context.annotation.AnnotationConfigApplicationContext;
    import study.dao.TestBean;
    
    public class TestSpringResource {
    
    	public static void main(String args[]) {
    		AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(study.service.TestSpringResource.class);
    		TestBean bean = context.getBean(TestBean.class);
    		System.out.println(bean.toString());
    	}
    }
    

     

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值