一、Spring核心容器類

1、BeanFactory

image

其中BeanFactory 作為最頂層的一個(gè)接口類,它定義了IOC 容器的基本功能規(guī)范,BeanFactory 有三個(gè)重要的子類:ListableBeanFactory、HierarchicalBeanFactory 和AutowireCapableBeanFactory。但是從類圖中我們可以發(fā)現(xiàn)最終的默認(rèn)實(shí)現(xiàn)類是DefaultListableBeanFactory,它實(shí)現(xiàn)了所有的接口。

1、ListableBeanFactory 接口表示這些Bean 是可列表化的

image

2、HierarchicalBeanFactory 表示的是這些Bean 是有繼承關(guān)系的,也就是每個(gè)Bean 有可能有父Bean

image

3、AutowireCapableBeanFactory 接口定義Bean 的自動(dòng)裝配規(guī)則

image

這三個(gè)接口共同定義了Bean 的集合、Bean 之間的關(guān)系、以及Bean 行為。

在BeanFactory 里只對(duì)IOC 容器的基本行為作了定義,根本不關(guān)心你的Bean 是如何定義怎樣加載的。

而要知道工廠是如何產(chǎn)生對(duì)象的,我們需要看具體的IOC 容器實(shí)現(xiàn),Spring 提供了許多IOC 容器的實(shí)現(xiàn)。比如GenericApplicationContext , ClasspathXmlApplicationContext 等。

2、BeanDefinition

SpringIOC 容器管理了我們定義的各種Bean 對(duì)象及其相互的關(guān)系,Bean 對(duì)象在Spring 實(shí)現(xiàn)中是以BeanDefinition 來描述的。

image

3、BeanDefinitionReader

Bean 的解析過程非常復(fù)雜,功能被分的很細(xì),因?yàn)檫@里需要被擴(kuò)展的地方很多,必須保證有足夠的靈活性,以應(yīng)對(duì)可能的變化。Bean 的解析主要就是對(duì)Spring 配置文件的解析。這個(gè)解析過程主要通過BeanDefintionReader 來完成。

image
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容