Spring源码环境搭建

Posted 高国藩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring源码环境搭建相关的知识,希望对你有一定的参考价值。

源码环境编译

准备环境工作

  1. JDK 1.8.022
  2. Gradle 5.6.3
  3. Idea 2018.2.8.win
  4. Spring 5.1

Gradle配置

配置Gradle国内镜像访问地址信息

在Gradle安装目录init.d下,新建init.gradle文件夹,其中输入内容为:

allprojects
    repositories 
      def REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public/'
    all  ArtifactRepository repo ->
        if(repo instanceof MavenArtifactRepository)
            def url = repo.url.toString()
            if (url.startsWith('https://repo1.maven.org/maven2') || url.startsWith('https://jcenter.bintray.com/')) 
                project.logger.lifecycle "Repository $repo.url replaced by $REPOSITORY_URL."
                remove repo
            
        
    
    maven 
        url REPOSITORY_URL
      
  

Spring 源码项目

下载链接地址:git clone --depth=1 https://github.com/spring-projects/spring-framework.git

下载完成后,直接使用Idea进行导入。注意设置Idea的Gradle为自定义版本信息。

注意事项:

  1. 选定自动导入配置信息
  2. 使用本地Gradle信息
  3. 使用Jvm参数,-XX:MaxPermSize=2048m -Xmx2048m -XX:MaxHeapSize=2048m

导入完成之后,请注意项目中的路径将会有蓝色标识符显示,如下图:

预编译项目

修改docs.gradle

在项目路径gradle下找到docs.gradle,将dokka和asciidoctor开头的Json数据删除或者注释。

排除spring-aspects项目组件

在项目列表中找到spring-aspects,右键点击load/unload modul,将该项目组件全部排除。

预编译oxm项目

编译整体项目

至此,项目编译结束。

配置执行kotlin

请看Kotlin如下配置:

如果不是1.3,会报错,无法进行执行我们自定义的modul代码,需要进行更新

更新Kotlin

更新完成重启后,即可使用我们的项目环境进行源码阅读。

新建项目进行测试

在根项目中,右键新建gradle项目,并引入依赖:

dependencies 
    compile(project(":spring-context"))
    compile(project(":spring-beans"))
    compile(project(":spring-core"))
    compile(project(":spring-aop"))
    testCompile group: 'junit', name: 'junit', version: '4.12'

并简单测试一个我们的启动类是否能正常完成引用:

import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class Main 
   public static void main(String[] args)
      ApplicationContext ac = new AnnotationConfigApplicationContext(JavaConfig.class);
      System.out.println(ac.toString());
   

SUCCESS

小结

在整个过程中,网络环境的要求比较高,很多内容都是国外的,所以你懂得。。

如果有任何问题,欢迎联系我,QQ:772846384,一起交流

以上是关于Spring源码环境搭建的主要内容,如果未能解决你的问题,请参考以下文章

IDEA 搭建Spring源码环境

Spring源码分析——(001)环境搭建

Spring源码分析-1 环境搭建

Spring源码分析-1 环境搭建

升职加薪进阶技能:阅读spring源码搭建源码环境

Spring源码阅读环境搭建