Spring源码深度解析-1、Spring核心类简单介绍

本文旨在深入探讨Spring框架的核心组成部分,特别是DefaultListableBeanFactory和XmlBeanDefinitionReader的角色。通过购买专业书籍,作者计划系统地理解Spring的bean加载机制,包括资源加载、解析和注册流程,以增强对Spring框架的深层次认知。

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

在更新JAVA基础源码学习的同时,也有必要把Spring抓一抓,以前对于spring的程度仅在于使用,以及一点IOC/AOP的概念,具体深层的了解不是很深入,每次看了一点源码就看不下去,然后一转眼都忘记看了啥。
所以这次专门买了书,来细细品味下Spring。
希望能从这一波学习中加强自己对spring更深的认识。

对Spring源码的正式深入学习之前,有必要了解下Spring中最核心的两个类:

1、DefaultListableBeanFactory
DefaultListableBeanFactory 是Spring整个bean加载的核心部分。
XmlBeanFactory继承自Spring,是在配置文件中配置的bean 的加载实现,使用了自定义的BeanDefinitionReader.
下面看下容器加载类图:
在这里插入图片描述

2、XmlBenDefinitionReader
XmlBenDefinitionReader非常重要,因为spring的很多配置信息通过xml读取,因此我们可以从它这里梳理一下资源的读取,解析和注册的大致流程,

类图放下:
在这里插入图片描述

先看下各个类用来干什么?
ResourceLoader:资源加载器
BeanDefinitionReader:定义从ResourceLoader读取资源文件转换成BeanDefinition的功能
EnvironmentCapable:定义获取Environment的方法
DocumentLoader:定义从资源文件转换到Document对象的方法
AbstractBeanDefinitionReader:对EnvironmentCapable、BeanDefinitionReader定义的功能进行实现
BeanDefinitionDocumentReader:定义读取Document并注册BeanDefinition的功能。
BeanDefinitionParserDelegate:定义解析Element的各种方法。

1、通过继承自AbstractBeanDefinitionReader的方法,来使用ResourceLoader加载资源转换为对应的Resource对象。
2、通过DocumentLoader把Resource对象转为Document对象
3、通过实现接口BeanDefinitionDocumentReader的DefaultBeanDefinitionDocumentReader来解析Document对象,并使用BeanDefinitionParserDelegate来解析。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值