spring技術內幕1 IOC容器體系結構

2021-06-22 13:38:44 字數 2196 閱讀 7847

1、beanfactory類結構體系

beanfactory介面及其子類定義了spring ioc容器體系結構。

beanfactory

******jndibeanfactory(c)

autowirecapablebeanfactory(i)

defaultlistablebeanfactory(c)

xmlbeanfactory(c)

configuralbelistablebeanfactory(i)

defaultlistablebeanfactory(c)

xmlbeanfactory(c)

hierarchicalbeanfactory(i)

configuralbebeanfactory(i)

abstractbeanfactory(c)

abstractautowirecapablebeanfactory(c)

defaultlistablebeanfactory(c)

xmlbeanfactory(c)

configurablelistablebeanfactory(i)

defaultlistablebeanfactory(c)

xmlbeanfactory(c)

listablebeanfactory(i)

staticlistablebeanfactory(c)

configuralbelistablebeanfactory(i)

defaultlistablebeanfactory(c)

xmlbeanfactory(c)

3、xmlbeanfactory

xmlbeanfactory只提供了最基本的ioc容器功能,它主要讀取以xml形式定義的beandefinition。

(1)xmlbeanfactory原始碼:

public class xmlbeanfactory extends defaultlistablebeanfactory{

//讀取xml形式的bean定義,然後解析xml生成ioc管理的bean

private final xmlbeandefinitionreader reader = new xmlbeandefinitionreader(this);

//resource是spring中用來封裝io操作的介面

public xmlbeanfactory(resource resource) throws bean***ception{

this(resource,null);

//呼叫父類的構造方法,同時呼叫loadbeandefinitions方法從指定xml檔案載入bean定義

public xmlbeanfactory(resource resource,beanfactory parentbeanfactory) throws bean***ception{

super(parentbeanfactory);

this.reader.loadbeandefinitions(resource);

(2)xmlbeanfactory實現ioc容器的基本過程:

//建立ioc容器管理的bean的xml配置檔案,即定位資源

classpathresource resource = new classpathresource("beans.xml");

//建立beanfactory

defaultlistablebeanfactory factory = new defaultlistablebeanfactory();

//建立bean定義讀取器

xmlbeandefinitionreader reader = new xmlbeandefinitionreader(factory);

//使用bean定義讀取器讀入bean配置資訊,即載入配置

reader.loadbeandefinitions(resource);

spring getid();

string getdisplayname();

long getstartupdate();

//獲取自動裝配功能的beanfactory

autowirecapablebeanfactory getautowirecapablebeanfactory() throws illegalstateexception;

a.支援不同的資訊源

b.訪問資源

c.支援應用事件

Spring入門1 IOC控制翻轉

ioc inversion of control,控制反轉 這是spring的核心,貫穿始終。所謂ioc,對於spring框架來說,就是由spring來負責控制物件的生命週期和物件間的關係。這是什麼意思呢,舉個簡單的例子,我們是如何找女朋友的?常見的情況是,我們到處去看 有長得漂亮身材又好的mm,然...

spring技術內幕5 IoC容器的依賴注入

1 當spring ioc容器完成了bean定義資源的定位 載入和解析註冊以後,ioc容器中已經管理類bean定義的相關資料,但是此時ioc容器還沒有對所管理的bean進行依賴注入,依賴注入在以下兩種情況發生 1 使用者第一次通過getbean方法向ioc容器索要bean時,ioc容器觸發依賴注入。...

Spring技術內幕 AOP技術原理

proxyfactorybean是spring ioc中建立aop應用的底層方法。以它為入口學習。proxyfactorybean的配置和使用 1.定義使用的通知器advisor 2.定義proxyfactorybean 作為乙個bean來定義,設定proxyinte ce inte cenames...