spring源码工程中新建module
2020-03-23 本文已影响0人
程序员老帮菜
对接上篇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.