温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Spring源码知识点分析

发布时间:2021-11-15 11:01:05 来源:亿速云 阅读:121 作者:iii 栏目:大数据

本篇内容主要讲解“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注册以及加载的默认实现。

Spring源码知识点分析

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资源文件中读取、解析、注册。

Spring源码知识点分析

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

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

EnvironmentCapable:定义获取Enviroment方法

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

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

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

AbstractBeanDefinitionReader:对接口EnvironmentCapable、BeanDefinitionReader的实现

DefaultBeanDefinitionDocumentReader:对BeanDefinitionDocumentReader接口实现

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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI