ioc的主要介面設計圖如下面所示:
下面分析一下這張圖:
從圖中我們可以得到,從介面beanfactory—》hierarehicalbeanfactory介面——》configurablebeanfactory介面, 是一條主要的beanfactory設計路線。 在這條介面設計路線中, beanfactory介面定義了基本的ioc容器的規範。包括了getbean()這樣的ioc容器的基本方法,而hierarchicalbeanfactory介面在繼承了beanfactory的介面之後,增加了getparentbeanfactory()的介面功能 ,使beanfactory具備了雙親ioc容器的管理功能。在configurablebeanfactory介面中,主要定義了一些對beanfactory的配置功能,比如通過setparentbeanfactory()設定雙親ioc容器 ,通過addbeanposlprocessor()配置bean後置處理器 ,等等。通過這些介面設計的疊加, 定義了beanfactory是簡單ioc容器的基本功能。
特別提到的是,
上面的圖主要顯示的是ioc容器介面的設計,具體的ioc容器是通過實現這個介面體系下的介面來完成的。
Spring原始碼解析之 Aop原始碼解析(2)
spring aop 更多的是oop開發模式的乙個補充,幫助oop以更好的方式來解決對於需要解決業務功能模組之上統一管理 的功能 以一副圖來做為aop功能的說明更直觀些。對於類似系統的安全檢查,系統日誌,事務管理等相關功能,物件導向的開發方法並沒有更好的解決方法 aop引入了一些概念。更多的是spr...
Spring原始碼 IOC(一)
它是spring中bean容器的頂級介面。裡面有獲取bean,判斷是否包含bean,是否單例,獲取別名等基本方法 listablebeanfactory 根據條件獲取bean的配置清單。如string getbeandefinitionnames 返回bean在工廠中定義的名稱。bean在工廠中定義...
Spring原始碼分析之IOC2
上篇用到乙個列子 找到它的建構函式 呼叫的是上面的這個 裡面又呼叫另乙個建構函式 看到setconfiglocations configlocations 這個方法,在跟進去咯 public void setconfiglocations string locations else 這裡面的關鍵點是...