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为自定义版本信息。

image-20200412192717489

注意事项:

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

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

image-20200412193121719

预编译项目

修改docs.gradle

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

排除spring-aspects项目组件

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

预编译oxm项目
image-20200412193450686
编译整体项目
image-20200412193538758

至此,项目编译结束。

配置执行kotlin

请看Kotlin如下配置:image-20200412193917567

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

更新Kotlin

image-20200412194053474

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

新建项目进行测试

在根项目中,右键新建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,一起交流

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值