Spring原始碼解析--核心容器類簡介
阿新 • • 發佈:2018-12-16
-
AliasRegistry:
對映別名的超級介面;
-
BeanDefinitionRegistry : 通常用於儲存bean 定義描述(
BeanDefinition
型別)資訊, 例如,RootBeanDefinition
和ChildBeanDefinition
類 的例項; 通常由通過整合AbstractBeanDefinition
,由bean工廠去實現介面中的方法; 這是spring工廠包中的唯一一個囊括了註冊BeanDefinition
型別的介面;標準的工廠介面僅需要提供方法去實現; spring中用於讀取類描述資訊的讀取類,期望工作在一個實現了這個介面的實現類上;最常見的實現類為:DefaultListableBeanFactory
GenericApplicationContext
; -
SingletonBeanRegistry: 繼承此介面的類需要提供一個統一的單例註冊方法;
-
BeanFactory : spring容器獲取bean的核心方法定義;
-
ListableBeanFactory : 提供了一些列舉類的方法的介面;
-
HierarchicalBeanFactory : bean工廠訪問父子工廠的方法;
-
ConfigurableBeanFactory : 提供配置bean工廠類的方法;
-
AutowireCapableBeanFactory : 有自動注入能力的工廠;
-
DefaultSingletonBeanRegistry : 實現別名註冊和單例註冊的預設類;
-
FactoryBeanRegistrySupport : 對於工廠類註冊的擴充
剩下的都是一些抽象類和實現類;其中最主要的就是sping預設的bean工廠的實現類:DefaultListableBeanFactory