Spring源码解析-读书笔记2
Spring最核心的两个类:
1.DefaultListableBeanFactory
XmlBeanFactory 继承自DefaultListableBeanFactory.
DefaultListableBeanFactory是整个bean加载的核心,是spring注册和加载bean的默认实现;
XmlBeanFactory和DefaultListableBeanFactory的区别在于:XmlBeanFactory使用了自定义的xml读取器XmlBeanDefinitionReader,实现了BeanDefinitionReader读取;DefaultListableBeanFactory继承了AbstractAutowirecapableBeanFactory 并实现了ConfigurableListableBeanFactory和BeanDefinitionRegistry接口.
2.XmlBeanDefinitionReader
主要负责xml的读取,包括资源文件的读取.解析.注册.
通过分析XmlBeanDefinitionReader中主要包含对xml配置文件处理的几步,如下:
1).使用resourceLoader将资源文件路径转换成对应的Resource文件;
2).使用DocumentLoader对Resource进行转换,转换Document文件;
3).使用DefaultBeanDefinitionDocumentReder对document进行解析,并使用BeanDefinitionParserDelegate对Element进行解析.
BeanFactory bf = new XmlBeanFactory(new ClassPathResource("beanfactoryTest.xml"))
在上面这句代码中的执行逻辑:
1)调用ClassPathResource构造器由classPath下的xml文件生成Resource对象;
2)在XmlBeanFactory构造器中加载resource,产生BeanFactory对象返回;
spring的配置文件的读取是通过ClassPathResource来进行封装的.
之后的读取工作就右XmlBeanDefinitionReader来完成;
上一篇: 【机器学习】随机森林
下一篇: ubuntu:快捷键
推荐阅读
-
Mybaits 源码解析 (十)----- 全网最详细,没有之一:Spring-Mybatis框架使用与源码解析
-
asp.net abp模块化开发之通用树2:设计思路及源码解析
-
spring源码深度解析— IOC 之 默认标签解析(上)
-
spring源码深度解析— IOC 之 循环依赖处理
-
Vue之Watcher源码解析(2)
-
Spring Security 解析(七) —— Spring Security Oauth2 源码解析
-
SpringBoot 源码解析 (十)----- Spring Boot 精髓:集成AOP
-
Spring5源码解析6-ConfigurationClassParser 解析配置类
-
SpringBoot 源码解析 (三)----- Spring Boot 精髓:启动时初始化数据
-
【源码解析】凭什么?spring boot 一个 jar 就能开发 web 项目