Spring 有關bean的配置

2022-05-22 04:42:13 字數 1914 閱讀 3340

1.單例類的配置

如果我們想建立乙個單例類的bean,只能會通過靜態工廠來建立。

下圖為乙個單例類:

stage並沒有提供公開的構造方法,構造方法都是私有的,必須通過getinstance()方法獲得已經例項化好的stage,所以我們每次呼叫返回的都是相同的例項。

在spring的配置檔案中,我們可以通過的factory-method屬性,呼叫乙個指定的靜態方法來建立例項。

2.bean的作用域

spring中所有的bean預設都是單例。當容器分配乙個bean時,返回的都是同乙個例項,單有時候我們需要每次呼叫都返回乙個唯一的bean例項,可以通過配置bean的scope屬性實現。

scope值預設為singleton 即單例。 修改為prototype 每次呼叫都會建立乙個例項。

3.初始化和銷毀bean

當例項化乙個bean時,可能需要執行一些初始化的操作,同樣,當不在需要bean,將其從容器中移除時,我們可能還需要按照順序執行清楚工作。為了滿足在初始化和銷毀bean時所需要做的特殊操作,spring提供了bean生命週期的鉤子方法。

為bean定義初始化和銷毀操作,只需要使用init-method 和destrory-method引數來配置元素

例如:在stage類中新增初始化和銷毀時所要執行的方法:

配置xml檔案,在bean中設定init-method和destroy-method屬性

4.注入bean屬性

注入簡單值

將字串作為引數注入。

將數字作為引數注入

引用其他的bean

將a作為引數注入到其他bean中

spring裝配集合

當配置集合型別的bean屬性時,spring提供了4種型別的集合配置元素,如下。

集合元素

用途裝配list型別的值,允許重複

裝配set型別,不允許重複

裝配map型別的值,名稱和值可以是任意型別

裝配properties型別的值,名稱和值必須都是string型別

裝配list:

//允許重複

裝配set

//不允許重複,user2只會注入乙個。

裝配map

中的元素由乙個鍵和乙個值組成,鍵和值可以是簡單型別,也可以是其他的bean的引用。這些屬性將幫助我們指定的鍵和值

裝配properties集合(類似map但是key和value必須均為字串)

張三19

裝配null

有時候由於特殊原因,需要將bean的某個值設定為空

這是後我們可以如下配置:

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的配置

1 bean的配置一般都在xml檔案中進行配置 3 spring的bean管理的實現是依靠大量的反射來實現的。4 bean定義配置 4.1bean標籤 id屬性 用於指定bean的名稱,在bean被依賴時使用,在獲取bean時使用等 name屬性 用於指定bean的別名 singleton屬性 用於...