Spring學習筆記之BeanFactory

wKioL1nYc9-AHBHzAABMnTu4_Ho866.png


BeanFactory是一個頂級接口,下面看下它是幹什麼的。
ide


wKiom1nYdGHQ7yM7AACxQJuUQic126.png

這裏說了,它是訪問Spring Bean容器的根接口,是Bean容器的基本視圖。spa

它的一些子接口,好比ListableBeanFactory和ConfigurableBeanFactory都有特別的並且不一樣的用途。對象

實現了這個接口的對象維護了許多的Bean定義,每個Bean定義用一個名字來惟一標識。blog

下面看一下它的子接口以及實現類繼承

wKioL1nYdcrBi6PGAABxkmbPJio440.png

有三個子接口直接繼承自BeanFactory,他們分別是ListableBeanFactory、HierarchicalBeanFactory和AutowireCapableBeanFactory。
接口

下面分別看一下它們各自有什麼樣的用途:文檔

wKioL1nYdtuhLGulAAEJ3E46cYc156.png

wKiom1nYd3qR2eOgAABvHdoAV7M089.png

在這個接口的註釋中說了,說這是BeanFactory的一個擴展接口,它能夠列舉出全部的Bean示例,而不是當客戶端請求的時候去根據名字一個一個的查找。get


wKiom1nYeQ_Bp6AtAABks7fJLL0998.png

HierarchicalBeanFactory是一種可以分層的Bean Factory。什麼意思呢?什麼叫有層級?什麼叫分層?個人理解是,能夠被繼承。it

wKioL1nYecHDq5NUAAB2dfhlQ0o145.png

wKiom1nYekbxdkZ5AAArrpq_CYY187.png

AutowireCapableBeanFactory有自動裝配的能力。io

最後,咱們看一下DefaultListableBeanFactory

wKioL1nYezeSbWY1AAE8cHmdbM8958.png

這個類直接或間接的實現了那三個接口,也就是說上面說的三種特性它都有。

文檔中也說了,他是一個成熟的Bean Factory。

它最典型的用法是在Bean被訪問以前註冊全部的Bean。所以,在一個本地的Bean定義表中查找是很廉價的操做。

相關文章
相關標籤/搜索