IDEA构建spring源码

1、下载spring源码:https://github.com/spring-projects/spring-framework

在tags中选择release(稳定)版本,我下载的是 spring-framework-5.2.21.RELEASE

不同的spring版本需要的jdk也不一样,我本地是jdk8      IDEA构建spring源码_第1张图片

2、 解压下载的文件,打开 ..\gradle\wrapper 目录下的文件 gradle-wrapper.properties

其中有个 distributionUrl属性,去掉https后面的 \ 后 复制到浏览器中下载gradle(每个spring版本对应的gradle版本都不一样,如这里的版本是5.6.4);

IDEA构建spring源码_第2张图片

3、打开源码根目录下的 settings.gradle 和 build.gradle,添加阿里云的仓库地址

      build.gradle

             maven{ url 'https://maven.aliyun.com/nexus/content/groups/public/'}
             maven{ url 'https://maven.aliyun.com/nexus/content/repositories/jcenter'}

      setting.gradle

            maven{ url 'https://maven.aliyun.com/nexus/content/groups/public'}

        IDEA构建spring源码_第3张图片

 IDEA构建spring源码_第4张图片

4、在源码根目录打开cmd控制台,指定命令  gradlew :spring-oxm:compileTestJava 

      打出 BUILD SUCCESSFUL 即说明成功       IDEA构建spring源码_第5张图片

5、打开idea,File-->New-->Project from Existing Sources   选择根目录的 build.gradle,点 OK 

IDEA构建spring源码_第6张图片

 6、配置gradle,File-->Setting-->gradle

IDEA构建spring源码_第7张图片

7、新建module测试,File-->New-->Module

      创建的mudule中会自动生成一个build.gradle,在build.gradle中引入spring-context的依赖

      此时在module中创建测试类,我创建了三个测试类

       创建测试类过程中 @Service或 AnnotationConfigApplicationContext 无法import的情况,说明spring-context没有引入进来,则需要一下两步操作:

        1、右键 build.gradle -->  Build Module

              IDEA构建spring源码_第8张图片

       2、刷新gradle,在 runtimeClasspath 下面出现 spring-context即可

             IDEA构建spring源码_第9张图片

       测试类的目录及代码如下  :

        IDEA构建spring源码_第10张图片  

      UserService:

              @Service

               public class UserService { public void a(){ System.out.println("userService方法"); } }

      BeanConfig :

              @ComponentScan(value = "service")

                public class BeanConfig { }

ModuleMain :

        public class ModuleMain { public static void main(String[] args) {                                                         AnnotationConfigApplicationContext applicationContext = new

          AnnotationConfigApplicationContext(BeanConfig.class);

          UserService userServiceN =applicationContext.getBean("userService",UserService.class);

          userServiceN.a();

         }

}

运行 ModuleMain 的main方法,能正常获取到 UserService 对象并成功执行方法即可

build.gradle中的代码如下,如需要引入多个spring项目,在compile中添加多个project,然后再右键 build.gradle -->  Build Module,刷新gradle

IDEA构建spring源码_第11张图片

搭建好的代码:链接:https://pan.baidu.com/s/1Mk8YPvgt1V4evKrLVgxPAA?pwd=y2xk 
   

你可能感兴趣的:(spring,intellij-idea,spring,java)