Spring源码解析-核心类之XmlBeanDefinitionReader
2023-09-11 14:14:34 时间
XmlBeanDefinitionReader
XML配置文件的读取是 Spring 中重要的功能,因为 Spring 的大部分功能都是以配置作为切入点的,那么我们可以从 XmlBeanDefinitionReader 中梳理一下资源文件读取、解析及注册的大致脉络,来看下各个类的功能。
- ResourceLoader: 定义资源加载器,主要用于根据给定的资源文件地址返回对应的 Resource。
- BeanDefinitionReader: 主要定义资源文件读取并转换为 BeanDefinition 的各个功能。
- EnvironmentCapable: 定义获取 Environment 方法。
- DocumentLoader: 定义从资源文件加载到转换为 Document 的功能。
- AbsBeanDefinitionReader: 对 EnvironmentCapable 、BeanDefinitionReader 类定义的功能进行实现。
- BeanDefinitionDocumentReader: 定义读取 Document 并注册 BeanDefinition 功能
- BeanDefinitionParserDelegate: 定义解析 Element 的各种方法。
- 通过继承自 AbstractBeanDefinitionReader 中的方法,来使用 ResourceLoader 将资源文件路径转换为对应的 Resource 文件。
- 通过 DocumentLoader 对 Resource 文件进行转换,将 Resource 文件转换为 Document 文件。
- 通过实现接口 BeanDefinitionDocumentReader 的 DefaultBeanDefinitionDocumentReader 类对 Document 进行解析,并使用 BeanDefinitionParserDelegate 对 Element 进行解析。
相关文章
- Spring全家桶 源码 入门系列(二) --------AOP深度剖析
- RestTemplate:Spring 封装的 HTTP 同步请求类
- 牛皮!Spirng 我彻底拿下了:Spring 学习指南 + 实战实践 + 源码深度解析 + 架构与设计原理
- Spring源码之将Xml文件解析为Document对象(三)
- Spring源码分析(三)Spring是如何把元素解析成BeanDefinition对象的
- Sring源码解析(一)Spring是怎么读取配置Xml文件的
- Spring源码解析(十)分析一个Spring循环引用失败的问题
- Spring源码分析(二)Spring怎么扩展解析xml接口的
- Spring源码分析(六)FactoryBean 接口解析
- 【Spring源码】循环依赖如何处理?
- spring + Mybatis + pageHelper + druid 整合源码分享
- 深入理解Spring源码之bean的生命周期控制器BeanPostProcessor
- spring源码分析之@Conditional
- SPRING多个占位符配置文件解析源码研究--转
- spring源码分析之freemarker整合
- Spring源码解析之:Spring Security启动细节和工作模式--转载
- Spring – ${} is not working in @Value--转载
- 曹工说Spring Boot源码(20)-- 码网恢恢,疏而不漏,如何记录Spring RedisTemplate每次操作日志
- 曹工说Spring Boot源码(10)-- Spring解析xml文件,到底从中得到了什么(context:annotation-config 解析)
- 曹工说Spring Boot源码(9)-- Spring解析xml文件,到底从中得到了什么(context命名空间上)
- 曹工说Spring Boot源码(6)-- Spring怎么从xml文件里解析bean的
- 曹工说Spring Boot源码(3)-- 手动注册Bean Definition不比游戏好玩吗,我们来试一下
- Spring加载Bean的流程(源码分析)
- spring IOC(Spring 生命周期,先1.构造方式,2,初始化方法,3,目标方法,4,销毁方法)