Spring源码解析-读书笔记2

本文深入探讨Spring框架中最核心的两个类:DefaultListableBeanFactory 和 XmlBeanDefinitionReader。前者是bean加载的核心,后者则主要负责XML配置文件的读取、解析及注册。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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来完成;



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值