Spring核心--容器詳解
Spring容器是什么
從概念上講:Spring 容器是 Spring 框架的核心,是用來管理對象的。容器將創(chuàng)建對象,把它們連接在一起,配置它們,并由其通過IoC技術(shù)管理,串聯(lián)他們的整個生命周期從創(chuàng)建到銷毀。
從具象化講:通過概念的描述有些同學(xué)還是一臉懵逼,在我們的項目中哪個東西是Spring容器?在java項目中,我們使用實(shí)現(xiàn)了org.springframework.context.ApplicationContext接口的實(shí)現(xiàn)類。在web項目中,我們使用spring.xml——Spring的配置文件。
Spring容器的功能包括:

Spring容器的類別及其特點(diǎn):

具體的源碼實(shí)現(xiàn):
創(chuàng)建Spring Bean 是典型的工廠模式

BeanFactory 是最頂層的一個接口類,定義了IOC 容器最基本功能規(guī)范。
BeanFactory 有個重要的子類
ListableBeanFactory、HierarchicalBeanFactory、AutowireCapableBeanFactory
從類圖中可以看到最終的默認(rèn)實(shí)現(xiàn)類是DefaultListableBeanFactory,實(shí)現(xiàn)了所有的接口
定義這么多層接口的目的:每個接口都有它使用的場合,主要是為了區(qū)分在Spring 內(nèi)部操作對象的傳遞和轉(zhuǎn)化過程,對對象數(shù)據(jù)訪問所做的限制
ListableBeanFactory 這些Bean 是可列表化
HierarchicalBeanFactory 表示Bean是有繼承關(guān)系的
AutowireCapableBeanFactory bean的自動裝配
三個接口總結(jié):Bean的集合、Bean之間的關(guān)系、Bean行為
BeanFactory 只定義了IOC 容器的基本行為,不關(guān)心bean 是如何定義加載的。
IOC 容器具體的實(shí)現(xiàn)需要了解GenericApplicationContext、ClassPathXmlApplicationContext等
BeanDefinition 描述了Spring IOC容器中bean 之間的關(guān)系

Bean 的解析主要是對配置文件進(jìn)行解析,這個過程較復(fù)雜,功能被分的很細(xì),這個解析過程就是通過BeanDefinitionReader 來完成

到這里對Spring 框架體系有了一個基本了解,后續(xù)會持續(xù)更新
