spring源码解读

spring源码解读--环境搭建

2020-08-13  本文已影响0人  javap

spring源码阅读环境搭建

① 依赖工具

②源代码拉取

大家可以采用git直接fork的方式直接进行代码的拉取,建立自己的仓库做自由的提交,我在这里就直接down zip源码包进行搭建了。官方仓库地址
拉取完项目之后,导入idea中 idea中的gradle会直接对项目源码进行build的(在此提醒,gradle安装之后的环境变量还需自己配置,以及idea中有关gradle的配置还请自行的去百度解决)
打开 IDEA Terminal ,输入如下命令,预编译 spring-oxm 项目:

gradlew :spring-oxm:compileTestJava

③ 单元测试

在 spring-context 项目中的 src/test/java/example 目录下,已经提供了一些示例。
① 解析 XML 配置文件成对应的 BeanDefinition 们的流程
可调试 org.springframework.beans.factory.xml.XmlBeanDefinitionReaderTests 的 #withFreshInputStream() 和 #withImport() 这两个单元测试。
相比来说,后者比前者多了一个 <import /> 标签的解析。当然,XmlBeanDefinitionReaderTests 类中,其它方法也可以简单调试下。看胖友的兴趣哈。
② 加载 Bean 的流程
可调试 org.springframework.beans.factory.xml.AbstractBeanFactoryTests 这个单元测试类里的方法。
实际上,AbstractBeanFactoryTests 是一个抽象类,所以在运行时,需要选择对应的子类,例如 XmlListableBeanFactoryTests 类。
③ ClassPathXmlApplicationContext 的流程
可调试 org.springframework.context.support.ClassPathXmlApplicationContextTests 这个单元测试类里的方法。例如 #testResourceAndInputStream() 方法。
④ 解析 Properties 配置文件成对应的 BeanDefinition 们的流程
可调试 org.springframework.beans.factory.support.PropertiesBeanDefinitionReaderTests 这个单元测试里的方法。
⑤ 调试 Spring AOP 相关的流程
⑥ 调试 Spring Transaction 相关的流程
⑦ 调试 Spring MVC 相关的流程

后续为大家连载解读一下spring各模块之间的写作以及流程。

上一篇下一篇

猜你喜欢

热点阅读