spring源码工程中新建module

对接上篇spring源码编译后,在spring工程中新建module

新建module

File->New->Module

选择Gradle,并设置JDK

设置ArtifactId 及 module名称 -> Next

修改module配置

修改 build.gradle -> spring-study.gradle 与spring工程一致

修改settings.gradle,增加刚刚创建的module

修改spring-study.gradle

  • 注释掉中央仓库,使用项目统一配的仓库
  • 增加依赖配置
dependencies {
    compile(project(":spring-core"))
    compile(project(":spring-beans"))
    compile(project(":spring-context"))
    testCompile group: 'junit', name: 'junit', version: '4.12'
}

gradle管理中已出现我们的module

build下 新建的module

增加测试代码

目录结构

代码


@ComponentScan({"com.study"})
public class AppConfig {

}

@Component
public class AbcService {
    public void test(){
        System.out.println("hello");
    }
}

public class App {
    public static void main(String[] args){
        AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);
        AbcService abcService = context.getBean(AbcService.class);
        abcService.test();
    }
}


运行App

FAQ

问题1:注释不识别,可以手动引入

  • 我们已经依赖了 sprig-context 但是可能不识别,手工import下


问题2:变量 CoroutinesUtils 找不到符号

Error:(350, 51) java: 找不到符号
  符号:   变量 CoroutinesUtils
  位置: 类 org.springframework.core.ReactiveAdapterRegistry.CoroutinesRegistrar
  • 解决办法:
    1.spring-core添加jar包依赖
    将spring-framework/spring-core-coroutines/build/libs/spring-core-coroutines-5.2.0.BUILD-SNAPSHOT.jar 包添加到spring-core的依赖里
  1. 重新编译整个项目,ok.


问题3:类 InstrumentationSavingAgent 找不到符号

Error:(26, 38) java: 找不到符号
  符号:   类 InstrumentationSavingAgent
  位置: 程序包 org.springframework.instrument
  • 解决办法:
    1.spring-context中spring-context.gradle修改下spring-instrument依赖方式


  1. 重新编译整个项目,ok.

如果参考此文档还是有问题,可以评论区留言

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容