对接上篇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的依赖里
-
重新编译整个项目,ok.
问题3:类 InstrumentationSavingAgent 找不到符号
Error:(26, 38) java: 找不到符号
符号: 类 InstrumentationSavingAgent
位置: 程序包 org.springframework.instrument
-
解决办法:
1.spring-context中spring-context.gradle修改下spring-instrument依赖方式
- 重新编译整个项目,ok.
网友评论