Spring中Bean的配置

2021-08-21 20:07:07 字數 3334 閱讀 2953

1、bean的配置一般都在xml檔案中進行配置

3、spring的bean管理的實現是依靠大量的反射來實現的。

4、bean定義配置

4.1bean標籤

id屬性:用於指定bean的名稱,在bean被依賴時使用,在獲取bean時使用等

name屬性:用於指定bean的別名

singleton屬性:用於指定當前bean的建立模式,若值為true表示為單例模式,false表示原型模式(prototype)

depends-on屬性:用於指定當前bean的依賴bean,強制指定的bean在當前bean初始化之前先完成初始化

init-method屬性:用於指定當前bean的初始化方法,在bean例項建立好後,首先會呼叫其指定名稱的方法

destory-method屬性:用於指定當前bean的銷毀方法,在bean即將被銷毀之前會自動呼叫該屬性指定的方法

lazy-init屬性:用於指定當前bean的初始化時間,若值為true表示在初次呼叫時才會自動建立例項並初始化,false表示在ioc容器建立的時候就會完成建立和初始化

autowire屬性:用於指定當前bean的依賴關係的自動注入方式,其有五個值:

▷byname

值:表示通過id名稱來自動匹配;

▷bytype

值:表示通過class指定的型別來自動裝配;

▷constructor

值:表示使用建構函式的引數進行自動裝配(引數的型別匹配);

▷autodetect

值:表示自動進行選擇匹配方式,首先進行constructor自動裝配,若不存在構造方法則使用bytype方式進行自動裝配;

▷no值:表示不適用自動裝配。

dependency-check屬性:用於指定bean的依賴檢查模式,檢查依賴關係是否完整,與自動裝配合用,其有四個值:

▷******

值:表示針對基本型別、字串、集合進行依賴檢查

▷object

值:表示對引用物件進行依賴檢查

▷all

值:表示對基本型別、字串、集合、引用物件全部進行依賴檢查

▷none

值:表示不進行任何依賴檢查,預設情況。

bean示例:

<?xml version=」1.0」encoding=」utf-8」?> 

4.2property標籤

name屬性:用於指定屬性的名稱,與類中的set方法後方的名稱一致

value屬性:用於指定該屬性的值,用於指定的值是基本型別、字串型別

ref屬性:用於指定該屬性的值,用於指定的值是引用物件型別(即其他的bean),ref後面的值為另乙個bean的id

value標籤:用於指定屬性的值,型別為基本型別、字串型別,值為標籤內的文字內容,可以使用null值將屬性的值設定為null

ref標籤:用於指定屬性的值,型別為引用物件型別,值為其屬性的值,其屬性有以下三種:

local屬性:用於指定依賴本地bean例項,即同一xml檔案中定義的bean

bean屬性:用於指定依賴的bean例項,可以是不同xml檔案中的bean

以下是針對集合的標籤

list標籤:用於宣告該依賴物件為乙個list集合,其下用value和ref標籤來指定list中的各值(基本、字串、物件等)

▷value

標籤:用於指定list集合中的值,指定的值為基本型別、字串型別,值為文字內容

▷ref

標籤:用於指定list集合中的引用值,指定的值為其他的物件bean,其用法與之前property標籤下的ref標籤的用法相同

set標籤:用於宣告該依賴物件為乙個set集合,其用法與list標籤相同。

map標籤:用於宣告該依賴物件為乙個map集合,其下用entry標籤來宣告乙個鍵值對

▷entry

標籤:用於宣告map集合下的乙個鍵值對,其下用key屬性指明鍵,value/ref標籤指明值

key屬性:用於指明鍵值對中的鍵,它一般為字串

→value

標籤:用於指明鍵值對中的值,型別為基本型別、字串型別

→ref

標籤:用於指明鍵值對中的值,型別為引用物件型別,即其他的bean,其用法同之前的ref標籤

map例項1:

mvalue1

mvalue2

map例項2:

props標籤:用於宣告該依賴物件為乙個properties集合,其下用prop標籤來指定屬性的名稱及值(鍵值對)

▷prop

標籤:用於設定集合中的乙個鍵值對

key屬性:用於指明鍵值對中的鍵,一般為字串

文字內容:用於指明鍵值對中的值,一般為字串,不用加引號

props例項:

pvalue1

pvalue2

5、bean的生命週期

bean的生命週期包括bean的定義,bean的初始化,bean的使用,bean的銷毀

bean的定義:一般bean使用xml檔案的方式進行定義,定義的時候將bean之間的依賴關係和屬性的賦值都進行了定義

bean的初始化:其實bean的初始化包括bean的建立和初始化兩個方法,bean的建立和初始化一般是同步進行的,bean在完成建立後直接就會進行初始化操作,建立的時機與bean的lazy-init屬性的設定有關。

bean的銷毀:bean例項在程式退出的時候會進行銷毀,而在銷毀之前會自動呼叫bean的destory-method屬性指定名稱的方法。

Spring中Bean的配置

以下面的xml檔案舉例 第乙個bean的名稱為role,第二個bean的名稱為medicine,第三個bean的名稱為spring.chapter.mary.poison,第四個bean的名稱為spring.chapter.mary.poison 1 id和name的區別如下 id屬性具有唯一性,每...

Spring中Bean的配置

可以把spring看做乙個大型的工廠,而spring容器中的bean就是該工廠的產品。要想使用這個工廠生產和管理bean,就需要在配置檔案中告訴它需要哪些bean,以及需要使用何種方式將這些bean裝配到一起。xml配置檔案的根元素是beans,beans中包含了多個bean子元素,每乙個bean子...

Spring中Bean的scope配置

scope配置只是相對於同乙個上下文的,多次通過new出來的上下文是不同的上下文。scope取值 值說明singleton 在同乙個上下文中保證只有乙個bean例項,這是spring的預設配置 prototype 在同乙個上下文中,每次使用getbean方法都返回不同的例項 request 在同乙個...