Spring核心組件
Spring的核心組件有很多,但構(gòu)成其骨骼的,是Core,Context和Bean。
Bean
三者之中,Bean是核心中的核心。Bean實現(xiàn)了將對象通過配置文件的方式,由Spring來管理對象存儲空間,生命周期的分配。通過依賴注入的方式,可以實現(xiàn)將對象注入到指定的業(yè)務(wù)邏輯類中。這些注入關(guān)系,由Ioc容器來管理。
因此,Spring的核心思想常常被稱作BOP(Bean Oriented Programming),面向Bean編程。
Bean組件定義在Spring的org.springframework.beans包下,解決了以下幾個問題:
- Bean的定義
- Bean的創(chuàng)建
- Bean的解析
使用者只需要關(guān)注Bean的創(chuàng)建,其他兩個過程由Spring內(nèi)部完成。
1.整體架構(gòu)
Spring Bean的整體架構(gòu)是典型的工廠模式,最上層的接口是BeanFactory。ListableBeanFactory、HierarchicalBeanFactory和AutowireCapableBean是其子類,目的是為了區(qū)分Spring內(nèi)部對象處理和轉(zhuǎn)化的數(shù)據(jù)限制。
- ListableBeanFactory: 表示這些Bean是可列表的
- HierarchicalBeanFactory: 表示這些Bean有繼承關(guān)系
- AutowireCapableBeanFactory: 定義Bean的自動裝配規(guī)則
這幾個接口分別定義了Bean的集合、Bean的關(guān)系和Bean的行為。
2.Bean定義
Bean的定義主要由BeanDefinition描述,層次關(guān)系如下: