Fork me on GitHub

【spring源码系列】之【环境搭建】

1. gradle安装

1.1 下载gradle

gradle官网下载对应的版本,笔者用的6.0.1,下载地址如下https://gradle.org/releases/,找到6.0.1,选择complete连接下载,如下图

1.2 配置环境变量

解压gradle到指定目录,配置环境变量GRADLE_HOME、Path,与JDK类似,如下图


在命令行输入gradle -v,出现如下信息表示安装成功!

2. 准备spring源码工程

因为pom文件自动下载的源码不能在里面写注释,准备源码是后续方便在源码里写注释。

2.1 下载源码

源码下载地址为:https://github.com/spring-projects/spring-framework,
笔者版本为5.2.3.RELEASE,因githup下载速度慢,一是可以FQ下载,二是通过码云克隆镜像,再从码云下载,操作如下:
step1: 登录码云账户,点击右上角+号,新建仓库;

step2: 将spring的githup地址复制到导入已有仓库,并创建;

step3:从码云下载刚刚创建的克隆镜像,注意选择对应版本;

上述step3也可以通过命令行下载git clone -b v5.2.3.RELEASE https://gitee.com/wzj2006/spring-framework.git
速度非常快!

2.2 源码编译

2.2.1 项目导入IDEA

2.2.2 安装kotlin插件,并重启IDEA

2.2.3 IDEA配置gradle

2.2.4 编译spring

在编译前修改build.gradle文件中的仓库,优先选择阿里云,如下

repositories {
  maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }
  maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter'}
  mavenCentral()
  maven { url "https://repo.spring.io/libs-spring-framework-build" }
}

在项目的根目录下执行gradlew :spring-oxm:compileTestJava,如下图所示,表示编译成功,第一次执行需要几分钟,再执行会较快。

3. 准备示例项目工程

step1:创建spring-app项目,IDEA创建maven项目如下图

step2: 引入spring-context、junit、logback依赖

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <spring.version>5.2.3.RELEASE</spring.version>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>${spring.version}</version>
    </dependency>

    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
      <version>LATEST</version>
    </dependency>

step3: 分别创建SpringHello类、配置文件spring.xml、测试类TestSpring;


step4: 运行测试类结果如下:

4. 源码写注释

maven自动下载的jar包无法在里面写注解,需要将自动下载 jar包替换为源码工程打的jar包,分为以下几步:
step1: 在spring-context的包上右键,选择Open Library Settings;

setp2: 分别加入先前下载的编译后的源码工程的jar包与源文件,如下图:



把原来非源码工程中的两个文件删除。

step5: 调试示例项目工程中中的TestSpring,进入源码,发现可以写注释了,如下图:

接下来会发现一个有趣的现象,写完注释后,再次debug进入后,进不了断点了,原因是java源文件与class文件不一致了,所以每次写完注释后要重新打包源码源码工程中的模块。
step6: 重新编译打包,在gradle中找到相应模块,tasks下面的build,双击jar即可。

5. 总结

本篇主要讲述了环境相关的准备工作,通过一张思维导图总结如下:

后续将通过连载方式一步一步揭开spring的面纱。

posted @ 2021-04-12 07:49  小猪爸爸  阅读(201)  评论(0编辑  收藏  举报