本篇内容主要讲解“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源码知识点分析”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。