Spring核心組件

Spring的核心組件有很多,但構(gòu)成其骨骼的,是Core,Context和Bean。

Bean

三者之中,Bean是核心中的核心。Bean實(shí)現(xiàn)了將對(duì)象通過(guò)配置文件的方式,由Spring來(lái)管理對(duì)象存儲(chǔ)空間,生命周期的分配。通過(guò)依賴(lài)注入的方式,可以實(shí)現(xiàn)將對(duì)象注入到指定的業(yè)務(wù)邏輯類(lèi)中。這些注入關(guān)系,由Ioc容器來(lái)管理。

因此,Spring的核心思想常常被稱(chēng)作BOP(Bean Oriented Programming),面向Bean編程。

Bean組件定義在Spring的org.springframework.beans包下,解決了以下幾個(gè)問(wèn)題:

  1. Bean的定義
  2. Bean的創(chuàng)建
  3. Bean的解析

使用者只需要關(guān)注Bean的創(chuàng)建,其他兩個(gè)過(guò)程由Spring內(nèi)部完成。

1.整體架構(gòu)

Spring Bean的整體架構(gòu)是典型的工廠(chǎng)模式,最上層的接口是BeanFactory。ListableBeanFactory、HierarchicalBeanFactory和AutowireCapableBean是其子類(lèi),目的是為了區(qū)分Spring內(nèi)部對(duì)象處理和轉(zhuǎn)化的數(shù)據(jù)限制。

  • ListableBeanFactory: 表示這些Bean是可列表的
  • HierarchicalBeanFactory: 表示這些Bean有繼承關(guān)系
  • AutowireCapableBeanFactory: 定義Bean的自動(dòng)裝配規(guī)則

這幾個(gè)接口分別定義了Bean的集合、Bean的關(guān)系和Bean的行為。

2.Bean定義

Bean的定義主要由BeanDefinition描述,層次關(guān)系如下:

網(wǎng)友評(píng)論