【spring源码】 - 源码编译与demo演示

Spring框架源码编译与测试
本文介绍如何从GitHub下载并编译Spring框架源码,包括推荐的Gradle版本及编译命令。同时,提供了创建测试Demo的具体步骤,涵盖依赖添加、配置类编写等,帮助读者快速上手。
资源下载
  1. 从GitHub上面下载源码:https://github.com/spring-projects/spring-framework

  2. 编译工具gredle:
    此处建议使用6.x版本以下的,因为spring源码编译不支持6.x以上的gradle编译。下载地址为:https://gradle.org/releases/,当然此处也可以不进行本地安装,因为源码中gradle目录中包含了可用版本的编译工具

执行编译

我们以私有gradle进行演示操作:

  1. 预编译 spring-oxm: ./gradlew :spring-oxm:compileTestJava
  2. 预编译 spring-core: ./gradlew :spring-core:compileTestJava
  3. 执行全部编译: ./gradlew build

ps: 具体可参考源码目录中import-into-*.md文件.

创建demo测试

在源码内添加module,模式为gradle

首先添加依赖: build.gradle


dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'
    # 只用添加此依赖即可
    compile project(":spring-context")
}

AnnotationConfig.java

package com.ssj.test.config;

import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

@Configuration
@ComponentScan("com.ssj.test")
public class AnnotationConfig {
}

userDao.java

package com.ssj.test.dao;

import org.springframework.stereotype.Repository;

@Repository
public class UserDao {
    public void printInfo() {
        System.out.println("user dao");
    }
}

TestApplicationContext.java

package com.ssj.test;

import com.ssj.test.config.AnnotationConfig;
import com.ssj.test.dao.UserDao;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class TestApplicationContext {
    public static void main(String[] args) {
        AnnotationConfigApplicationContext ac = new
                AnnotationConfigApplicationContext(AnnotationConfig.class);
        UserDao userDao = (UserDao) ac.getBean(UserDao.class);
        userDao.printInfo();
    }
}

出现如下运行效果即为编辑成功:
在这里插入图片描述

issue

1、CoroutinesUtils找不到该类

解决方法:
点击File -> Project Structure -> Libraries -> + -> Java,然后选择spring-framework/spring-core/kotlin-coroutines/build/libs/kotlin-coroutines-5.2.4.BUILD-SNAPSHOT.jar,在弹出的对话框中选择spring-core.main,在重新build项目即可。

参考:https://blog.youkuaiyun.com/gooaaee/article/details/104437902

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

生如夏花般绚丽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值