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后配置一下阿里云的镜像仓库,配置方法
    idea+gradle中spring源码编译以及在自己的项目中运行_第1张图片

     

  5. 下载好了在运行cmd打开dos Terminal,进入到你的springframework项目的目录下,运行gradlew.bat,我这边这个没有出现问题,但我不保证你们不出问题,,主要是你们的版本一定要控制好。
    idea+gradle中spring源码编译以及在自己的项目中运行_第2张图片
  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 
    idea+gradle中spring源码编译以及在自己的项目中运行_第3张图片

    idea+gradle中spring源码编译以及在自己的项目中运行_第4张图片

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


    idea+gradle中spring源码编译以及在自己的项目中运行_第5张图片

 

 

3.编写自己module,运行

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

    idea+gradle中spring源码编译以及在自己的项目中运行_第6张图片


  2. 起自己的模块名字

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

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

     

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


    idea+gradle中spring源码编译以及在自己的项目中运行_第7张图片

  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类,就可以运行了。


    idea+gradle中spring源码编译以及在自己的项目中运行_第8张图片

    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());
    	}
    }
    

     

你可能感兴趣的:(idea+gradle中spring源码编译以及在自己的项目中运行)