spring源码构建
Posted 大圣
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring源码构建相关的知识,希望对你有一定的参考价值。
本文记录springframework源码构建的基本流程,环境是基于JDK 1.8.0(好像1.8以下会比较麻烦)IDE是Idea 2019 2.2(最好是2019版的2.x)
配置gradle环境
1、下载gradle https://www.jianshu.com/p/d9329117aa2f 目前安装的版本是4.9
2、配置环境变量
3、gradle -version
4、配置好环境后可以去设置idea,以便后期编译spring项目时使用gradle
下载源码
前往GitHub下载spring-project源码。
导入IDE
File - New - Project from Existing Source... - 选择本地源码文件的目录
编译spring项目
1、编译spring-context生成out文件(这里有的时候idea在导入项目时就编译好了有的时候没有编译);
2、编译spring-core生成out文件,这个项目也可以这样编译,在Gradle工具栏目中执行 compileJava
这里编译会去下载一个CGlib相关的jar包,在5.x时没有携带这个包。如果在此步之前进行使用项目的话会报错,应该就是没这个包导致的。
如果到此都顺利的话应该就没啥问题了。
3、当然也可以操作Gradle工具上的刷新按钮,但是会很慢,以上两步编译完了应该就可以了,这个Reimport会很慢
创建项目
1、创建一个新模块
右键spring总项目 - new - mould
2、修改build.gradle文件
compile(project(":spring-context"))
3、创建自定义类
创建一个自定义的类来添加@Component注解是否能引入成功
创建一个test类看是否能添加bean成功
AppConfig类
import org.springframework.context.annotation.Configuration; import org.springframework.stereotype.Component; @Configuration @Component //这个注解主要是为了检测能否添加注解 public class AppConfig { }
test类
import org.springframework.context.annotation.AnnotationConfigApplicationContext; public class test { public static void main(String[] args) { AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class); System.out.println(ac.getBean(AppConfig.class)); } }
这里如果出现报错,比如xxx.java中找不到xxx符号,这时可以去找到这个类的项目模块重新编译下,这样能解决80%的异常。
以上是关于spring源码构建的主要内容,如果未能解决你的问题,请参考以下文章