Spring 原始碼解析之BeanFactory介面

2021-10-06 22:38:06 字數 1725 閱讀 4925

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宣告式...