Spring源码阅读环境搭建

目录

  • 安装gradle
  • 导入Spring源码
  • 创建测试模块my-test
  • 本文思维导图

本文将粗略的搭建一个Spring源码的阅读环境,为后面的源码阅读做一个准备。做任何事情不管是有一个完美的或者是不太完美的开头,只要去做了,那么就是一种胜利。

由于spring使用了gradle构建工具,接下来先安装gradle。

安装gradle

  • 从Gradle官网下载gradle安装包,打开https://gradle.org/releases/
  • 将下载的安装包gradle-x.x.x-all.zip解压到当前目录
  • 环境变量配置
    • 配置GRADLE_HOME
    • 配置Path

  • 打开目录行工具,输入gradle -v,能看到gradle的版本信息表示安装已经成功

导入Spring源码

Spring在github上的仓库地址是:https://github.com/spring-projects/spring-framework,本文不会直接去github上去下载源码,网速实在太慢。本文使用的码云上Spring仓库的镜像,该镜像每日同步一次,地址是https://gitee.com/mirrors/Spring-Framework

  • 从git导入项目
  • 填写要克隆的git仓库信息,可以点击右边的【Test】按钮测试,等待仓库克隆完成

  • 打开导入的Spring项目
  • 从gradle导入Spring项目,等待gradle build完成

    注意:

    • 上面使用的是本地自己安装的gradle。
    • idea中gradle默认的服务目录路径是用户目录下的.gradle目录,对于Administrator用户,对应的目录是C:\Users\Administrator\.gradle。该目录占用的空间一般比较多,所以在这里将这个目录放到其他的盘中。
  • 构建完成后报错如下(只列出了一部分):
    ...
    Error:(63, 30) java: cannot find symbol
      symbol:   class Signature
      location: class org.springframework.cglib.core.KeyFactory
    ...
      location: class org.springframework.cglib.proxy.Enhancer
    Error:(152, 30) java: cannot find symbol
    ...

    spring未了避免与cglib和objenesis冲突,将cglib和objenesis相关的包重新repack到org.springframework.cgliborg.springframework.objenesis包中,这部分的代码没有包含到源码当中。构建之前,可以通过添加Gradle任务来解决,见:https://github.com/spring-projects/spring-framework/blob/master/import-into-idea.md#known-issueshttps://youtrack.jetbrains.com/issue/IDEA-160605

    解决办法如下:

    • 在idea中打开Gradle面板
    • 在右侧的Gradle面板Spring -> Tasks -> other -> cglibRepackJar
    • 激活任务
    • 选择要激活的cglibRepackJar任务
    • 重新构建项目(花费的时间较长)

创建测试模块my-test

为了方便编写测试spring的代码,在spring-framework单独新建一个模块my-test

  • 右键spring-framework项目->New->Module...
  • 输入ArtifactId: my-test
  • 一路下一步,最好点击完成,新的模块就建好了
  • 添加依赖:api(project(":spring-context"))
  • 为了能让my-test自动导入相关的依赖,在Gradle面板中右键spring节点
  • 在my-test模块中编写程序测试
    • 创建MyApplication

      package com.zfx;
      
      import org.springframework.context.ApplicationContext;
      import org.springframework.context.support.ClassPathXmlApplicationContext;
      
      public class MyApplication {
      
          public static void main(String[] args) {
              ApplicationContext ac = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
              Hello hello = (Hello)ac.getBean("hello");
              hello.sayHello();
          }
      
      }
    • 在resources目录下新建applicationContext.xml
      <?xml version="1.0" encoding="UTF-8"?>
      <beans xmlns="http://www.springframework.org/schema/beans"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
      
          <bean id="hello" class="com.zfx.Hello"></bean>
      
      </beans>
    • 新建Hello
      package com.zfx;
      
      public class Hello {
      
          public void sayHello() {
              System.out.println("Hello, zhangfengxian");
          }
      
      }
    • 运行MyApplication,可以看到控制台输出:Hello, zhangfengxian
  • 至此整个环境算是搭建好了

本文思维导图

原文地址:https://www.cnblogs.com/zhangfengxian/p/11072500.html

时间: 2024-10-04 00:04:31

Spring源码阅读环境搭建的相关文章

Hadoop源码阅读环境搭建

Hadoop源码阅读环境搭建 一.说明 作为一个学习hadoop的同学,必须在本机上搭建hadoop源码阅读环境,这样,在方便阅读源码的同时也方便进行调试和源码修改.好了,下面开始搭建环境. 1.环境说明:hadoop 版本:1.2.1. IDE:eclipse.操作系统:centos 2.网上有人是通过eclipse的新建项目指定目录的方式将hadoop目录转换成Eclipse工程同时导入eclipse,具体做法如下: File-->new-->Java Project-->勾掉Use

idea构建spring源码阅读环境

(一)安装git和Gradle Spring项目托管在github之上,基于Gradle来构建项目.所以要想搭建Spring的阅读环境,首先需要安装github和Gradle.对于一个程序员来说,github肯定都是安好了的,这里只简单介绍一下Gradle的安装. 首先,我们可以从https://gradle.org/releases/页面下载我们需要的Gradle版本(我的是gradle-4.0.2-all).下载完成之后,解压到自己指定的目录,然后类似配置JDK一样配置环境变量: (1)根据

Spring源码 之环境搭建

1.安装gitHub 在官网https://desktop.github.com/下载githubsetup.exe,在线安装总是出错,试了几次后不成功就放弃了.不知道是不是网络的原因. 后来在网上找了个离线安装的安装包 地址如下:http://download.csdn.net/detail/nevinblog/9031049 2.安装Gradle Gradle是一个基于Groovy的构建工具,它使用Groovy来编写构建脚本,支持依赖管理和多项目创建,类似Maven,但比其更加简单轻便. 在

Java之美[从菜鸟到高手演变]之Spring源码学习 - 环境搭建

准备工作 1.下载安装STS(Spring Tool Suite),在eclipse market里直接搜索.下载.安装.2.下载安装gradle, Spring源码使用gradle构建,下载后解压到任意目录,设置环境变量: GRADLE_HOME且配置Path. 3.下载安装github windows版本 使用github下载Spring源代码 去官网找到Spring在github上的地址,下载到文件系统下就好了. 将Spring 源代码导入eclipse 为Spring每个模块生成ecli

windows下kafka源码阅读环境搭建

工具准备:jdk1.8,scala-2.11.11,gradle-3.1,zookeeper-3.4.5,kafka-0.10.0.1-src.tgz, kafka_2.11-0.10.0.1.tgz 安装jdk 安装scala 搭建zookeeper kafka源码构建 解压kafka-0.10.0.1-src.tgz,命令行进行kafka-0.10.0.1-src,执行gradle idea 注: 1)gradle idea,用国外的库构建的下载速度很慢,在进入项目里面,找到build.gr

JDK源码阅读环境搭建

内容来源 B站Up主: CodeSheep 视频: https://www.bilibili.com/video/BV1V7411U78L 感谢大佬分享学习心得 Thanks?(?ω?)?~~~ 1. 新建项目 新建JavaSourceLearn项目 新建source包存放源码 新建test包存放测试案例 2. 获取JDK源码 打开Project Structure 选择JDK版本查看安装目录 将src.zip解压到项目source包中 提示: 添加源码到项目之后首次运行需要较长时间进行编译,建

Spark1.0.0源码阅读环境搭建(win7)

准备工作: jdk-7u51-windows-i586.exescala-2.10.3.msisbt-0.13.2.msispark-1.0.0.tgz scala-SDK-3.0.3-2.10-win32.win32.x86.zip 1.1. 安装JDK 安装jdk-7u51-windows-i586.exe,按默认设置即可.假设安装至目录d:\jdk1.7: 安装结束后,将d:\jdk1.7\bin添加至环境变量PATH中: 1.2. 安装Scala 安装scala-2.10.3.msi,按

Spring源码阅读 源码环境搭建(一)

ring 源码阅读的搭建(一) 一 下载spring源码 进入官方网页:https://spring.io/projects/spring-framework 进入相关的github位置,下载zip包 解压: 二 安装Gradle 下载Gradle: 进入下载页面:https://gradle.org/releases/ 配置环境变量: 解压到制定目录下 配置项: GRADLE_HOME: C:\Program Files\gradle-4.10.2 Path中添加:%GRADLE_HOME%\

Mac搭建Hadoop源码阅读环境

1.本次Hadoop源码阅读环境使用的阅读工具是idea,Hadoop版本是2.7.3.需要安装的工具包括idea.jdk.maven.protobuf等 2.jdk,使用的版本是1.8版,在jdk官网下载jdk-8u111-macosx-x64.dmg,点击安装,一路next. 3.idea安装,略 4.maven,使用的版本是3.3.9,下载apache-maven-3.3.9-bin.tar,解压: tar -zxvf  apache-maven-3.3.9-bin.tar 进入 Mave