千家信息网

Spring源码知识点分析

发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,本篇内容主要讲解"Spring源码知识点分析",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Spring源码知识点分析"吧!XmlBeanFactory核心
千家信息网最后更新 2025年02月03日Spring源码知识点分析

本篇内容主要讲解"Spring源码知识点分析",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Spring源码知识点分析"吧!

XmlBeanFactory核心类解析:DefaultListableBeanFactory、XmlBeanDefinitionReader

public class XmlBeanFactory extends DefaultListableBeanFactory {   private final XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(this);   /**    * Create a new XmlBeanFactory with the given resource,    * which must be parsable using DOM.    * @param resource XML resource to load bean definitions from    * @throws BeansException in case of loading or parsing errors    */   public XmlBeanFactory(Resource resource) throws BeansException {      this(resource, null);   }   /**    * Create a new XmlBeanFactory with the given input stream,    * which must be parsable using DOM.    * @param resource XML resource to load bean definitions from    * @param parentBeanFactory parent bean factory    * @throws BeansException in case of loading or parsing errors    */   public XmlBeanFactory(Resource resource, BeanFactory parentBeanFactory) throws BeansException {      super(parentBeanFactory);      this.reader.loadBeanDefinitions(resource);   }}

DefaultListableBeanFactory

XmlBeanFactory继承自DefaultListableBeanFactory。DefaultListableBeanFactory作用负责Spring Bean注册以及加载的默认实现。

AliasRegistry:公共的接口对别名管理

BeanDefinitionRegistry:定义对BeanDefinitionRegistry的各种管理操作

SimpleAliasRegistry:使用map作为alias的缓存,并对实现AliasRegistry接口实现

SingletonBeanRegistry:定义接口对单例的注册和获取

BeanFactory:定义获取bean及bean的各种属性

DefaultSingletonBeanRegistry:对SingletonBeanRegistry接口的默认实现

HierarchicalBeanFactory:继承BeanFactory接口的功能,增加了对parentFactoryBean的支持

ListableBeanFactory:根据各种条件获取bean的配置清单

FactoryBeanRegistrySupport:在DefaultSingletonBeanRegistry的功能基础上增加了对FactoryBean的支持

ConfigurableBeanFactory:提供BeanFactory的各种配置方法

AbstractBeanFactory:提供对FactoryBeanRegistrySupport功能支持和ConfigurableBeanFactory接口实现

AutowireCapableBeanFactory:定义接口创建bean、自动注入、初始化以及应用Bean的后端处理

AbstractAutowireCapableBeanFactory:继承了AbstractBeanFactory

的功能,并实现AutowireCapableBeanFactory接口所有功能

ConfigurableListableBeanFactory:综合配置大部分BeanFactory将要实现的接口

XmlBeanDefinitionReader

XmlBeanFactory中引用了XmlBeanDefinitionReader。XmlBeanDefinitionReader作用负责 从Resource资源文件中读取、解析、注册。

ResourceLoader:定义资源加载器,主要应用于给定的资源文件地址返回对应的的Resource

BeanDefinitionReader:定义bean接口从资源文件中读取并转换为BeanDefinitionReader

EnvironmentCapable:定义获取Enviroment方法

BeanDefinitionDocumentReader:接口定义读取Document并注册BeanDefinition功能

BeanDefinitionParserDelegate:定义解析Element的各种方法

DocumentLoader:定义从资源文件加载到转化为Document的功能

AbstractBeanDefinitionReader:对接口EnvironmentCapable、BeanDefinitionReader的实现

DefaultBeanDefinitionDocumentReader:对BeanDefinitionDocumentReader接口实现

到此,相信大家对"Spring源码知识点分析"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

0