Spring Bean工廠的接口

目錄

1、BeanFactory接口

2、AutowireCapableBeanFactory接口

3、ListableBeanFactory接口

 4、HierarchicalBeanFactory接口 

5、ConfigurableBeanFactory接口

6、ConfigurableListableBeanFactory接口

 7、Spring bean工廠接口之間的繼承關係


Spring bean工廠接口使用了設計模式中的簡單工廠模式,所有的接口都以Factory結尾。

1、BeanFactory接口

Spring中的BeanFactory是bean工廠的頂級接口,它定義了bean工廠的基本職能。具有方法如下:

 

2、AutowireCapableBeanFactory接口

AutowireCapableBeanFactory接口是BeanFactory的子接口,它擴展了BeanFactory的功能,使bean工廠對bean具有自動注入的功能。在這個接口中定義了5種bean的依賴注入策略分別是:

  1. AUTOWIRE_NO:不自動注入
  2. AUTOWIRE_BY_NAME:按照bean屬性的名稱注入
  3. AUTOWIRE_BY_TYPE:按照bean屬性的類型注入
  4. AUTOWIRE_CONSTRUCTOR:通過bean的構造器注入
  5. AUTOWIRE_AUTODETECT:自動偵測注入(已經廢棄)

3、ListableBeanFactory接口

ListableBeanFactory作爲BeanFactory的子接口,擴展了其功能,可以枚舉bean工廠中所有的bean實例。預加載所有bean定義的bean工廠(例如基於xml配置的工廠)可以實現這個接口。(看下圖,嘻嘻)

 4、HierarchicalBeanFactory接口 

HierarchicalBeanFactory作爲BeanFactory的子接口,擴展了BeanFactory的功能,使bean工廠具有了父子層次關係。

getParentBeanFactory()方法用於獲取父bean工廠。

containsLocalBean(String)方法用於判斷該bean工廠中是否存在指定的bean,不會去父bean工廠中查找。

5、ConfigurableBeanFactory接口

ConfigurableBeanFactory可配置的bean工廠,繼承了HierarchicalBeanFactory接口,使bean工廠具有可配置的功能。具有的方法如下:

6、ConfigurableListableBeanFactory接口

 ConfigurableListableBeanFactory接口同時繼承了ListableBeanFactory、AutowireCapableBeanFactory和ConfigurableBeanFactory,這意味着它同時具有這三個接口的功能,並在此基礎上增加了額外的功能。

 7、Spring bean工廠接口之間的繼承關係

   在上邊簡單介紹了各個接口,下面的UML類圖清楚的表示了它們之間的關係。

最後,感謝IDEA這款強大的開發工具,節省了我畫UML圖的時間。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章