beanfactory介面是spring 容器的根介面,其他介面和類通過對這個介面的實現物件的例項化,通過對該介面的控制,實現對目標物件的例項化。
string factory_bean_prefix = 「&」 用於取消對beanfactory例項的引用區分factory和其實例,如果是&返回factory,否則就返回factory的例項。
/**
* used to dereference a instance and distinguish it from
* beans created by the factorybean. for example, if the bean named
* is a factorybean, getting
* will return the factory, not the instance returned by the factory.
*/string factory_bean_prefix =
"&";
beanfactory中定義了很多獲取bean容器的方法(即getbean方法)有很多,通過bean容器定義的別名,容器型別等獲取
//獲取bean容器例項
object getbean
(string name)
throws bean***ception;
/***
*1.通過別名 string name
*2.通過匹配的型別,型別不允許為空,是介面或父類 requiretype
*3.通過重寫bean容器的引數來查詢 args
**/t getbean
(string name, class
requiredtype)
throws bean***ception;
t getbean
(class
requiredtype)
throws bean***ception;
object getbean
(string name, object.
.. args)
throws bean***ception;
t getbean
(class
requiredtype, object.
.. args)
throws bean***ception;
containsbean方法 判斷是否包含bean容器的父類,或其他factory的例項
boolean
containsbean
(string name)
;
兩個方法判斷bean容器是什麼模式,單例或原型
boolean
issingleton
(string name)
throws nosuchbeandefinitionexception;
boolean
isprototype
(string name)
throws nosuchbeandefinitionexception;
通過getaliases方法獲取bean的別名,原始別名,如果有多個別名,原始別名在第乙個,
string[
]getaliases
(string name)
;
Spring原始碼解析之 Aop原始碼解析(2)
spring aop 更多的是oop開發模式的乙個補充,幫助oop以更好的方式來解決對於需要解決業務功能模組之上統一管理 的功能 以一副圖來做為aop功能的說明更直觀些。對於類似系統的安全檢查,系統日誌,事務管理等相關功能,物件導向的開發方法並沒有更好的解決方法 aop引入了一些概念。更多的是spr...
Spring原始碼之XML解析
資料準備階段 準備的目的是封裝 resource引數,目的是為了考慮到 resource可能存在編碼要求的情況,其次,通過 sax讀取 xml檔案的方式來準備 inputsource物件,最後將引數傳遞到 最核心的實現部分 doloadbeandefinitions inputsource,enco...
spring原始碼解析
spring源 解析 一 ioc容器 spring源 解析 二 ioc容器在web容器中的啟動 spring源 解析 三 spring jdbc spring源 解析 四 spring mvc spring源 解析 五 spring aop獲取proxy spring源 解析 六 spring宣告式...