spring學習筆記一 IOC配置使用

2021-07-03 17:03:36 字數 2348 閱讀 8836

1.bean的命名

每個bean可以有乙個或多個id(或稱之為識別符號或名字),在這裡我們把

第乙個id稱為「識別符號」,其餘id叫做「別名」

;這些id在ioc容器中必須唯一。如何為bean指定id呢,有以下幾種方式;

(一)不指定id,只配置必須的全限定類名,由ioc容器為其生成乙個標識,客戶端必須通過介面「t getbean(classrequiredtype)」獲取bean;

測試的**如下:

@test

public void test1()

[2015-07-09 11:56:17.738]-[debug] org.springframework.beans.factory.xml.defaultbeandefinitiondocumentreader loading bean definitions

[2015-07-09 11:56:17.758]-[debug] org.springframework.beans.factory.xml.beandefinitionparserdelegateneither xml 'id' nor 'name' specified - using generated bean name [com.cdqcookes.spring.chapter01.helloworldimpl#0]

從以上的輸出日誌可以看出,spring為我們動態生成了乙個id:  com.cdqcookes.spring.chapter01.helloworldimpl#0

(二)指定乙個id,該id必須在ioc容器中唯一

測試的**如下:

@test

public void test2()

(三)

指定乙個name,該name必須在ioc容器中唯一

測試的**如下:

@test

public void test3()

(四)指定id和name,id就是識別符號,而name就是別名,必須在ioc容器中唯一;

測試的**如下:

public void test4()

(五)

指定多個name,多個name用"","," ",";"分割,第乙個被用作識別符號,其他的(alias1、alias2、alias3)是別名,所有識別符號也必須在ioc容器中唯一;spring的別名和標識對於方法getaliases沒有區別,也就是說alias21的別名是bean2,alias22

測試的**如下:

@test  

public void test5()

assert.assertequals(4, bean1alias.length);

//根據id獲取bean

ihelloworld bean2 = beanfactory.getbean("bean2", ihelloworld.class);

bean2.sayhello();

//2根據別名獲取bean

ihelloworld alias21 = beanfactory.getbean("alias21", ihelloworld.class);

alias21.sayhello();

//驗證確實是兩個別名

string bean2alias = beanfactory.getaliases("bean2");

system.out.println("*****== bean2 別名*****===");

for(string alias : bean2alias)

assert.assertequals(2, bean2alias.length);

}

(六)、使用標籤指定別名,別名也必須在ioc容器中唯一

測試的**如下:

@test  

public void test6()

assert.assertequals(2, beanalias.length);

}

2.例項化bean

Spring學習筆記 IoC

getbean 方法 引數為class時要保證配置檔案中bean唯一 構造器注入 通過constructor arg節點注入 工廠方法注入 很少使用 繼承 通過在bean中新增屬性parent指定繼承的父bean,也可以忽略父 bean 的 class 屬性,此時 abstract屬性 必須設為 t...

Spring學習筆記(一) IoC之DI

spring的乙個核心概念就是ioc,所謂ioc,即inversion of control,中文譯為控制反轉。其核心思想即高層模組要依賴於抽象,而不是依賴於底層模組,換句話說,也就是實現必需依賴於抽象,而不是抽象依賴於實現。這裡所說的高層模組是指與業務相聯絡的模組。而低層模組是指與底層實現相聯絡的...

Spring之IOC 學習筆記

ioc ioc理論的背景 依賴注入 di ioc的好處 ioc的通俗理解 ioc ioc inversionof control,控制反轉 是 spring 的核心,貫穿始終。所謂 ioc,對於 spring 框架來說,就是由 spring 來負責控制物件的生命週期和物件的關係 傳統開發模式 物件之...