1.1 Spring源码解析——核心类介绍

1.DefaultListableBeanFactory

XmlBeanFactory继承自DefaultListableBeanFactory,而DefaultListableBeanFactory是整个bean加载的核心部分,是Spring注册及加载bean的默认实现,而对于XmlBeanFactory与DefaultListableBeanFactory不同的地方就是XmlBeanFactory中使用自定义XML读取器XmlBeanDefinitionReader,实现了个性化的BeanDefinitionReader读取,DefaultListableBeanFactory继承了AbstractAutowireCapableBeanFactory并实现了ConfigurableListableBeanFactory以及BeanDefinitionRegistry接口。

1.1 Spring源码解析——核心类介绍

2.XmlBeanDefinitionReader

XML配置文件的读取是Spring中重要的功能,因为Spring大部分功能都是以配置文件作为初入点,那可以从XmlBeanDefinitionReader中梳理一下资源文件的读取,解析以及注册的大体路线

1.1 Spring源码解析——核心类介绍

(1)通过继承自AbstractBeanDefinitionReader中的方法,来使用ResourceLoader将资源文件路径转换为对应的Resource文件

(2)通过DocumentLoader对Resource文件进行转换,将Resource文件转换为Document文件

(3)通过实现接口BeanDefinitionDocumentReader的DefaultBeanDefinitionDocumentReader类对Document进行解析,并使用BeanDefinitionParserDelegate对Element进行即诶巽