您好,登錄后才能下訂單哦!
本篇內容主要講解“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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。