spring 基本Bean裝配

2021-05-21 22:27:13 字數 2823 閱讀 5455

在基於spring的應用中,應用元件在spring中是啟用的。容器可以建立元件,裝配和配置元件,以及管理它們的整個生

命週期。

容器是spring 框架的核心,spring容器使用di管理所有組成應用系統的元件。spring容器提供多個spring 容器。spring容器提供了多種容器,並分為兩類。bean工廠是最簡單的容器,提供了基礎的依賴注入的支援。應用上下文建立在bean工廠基礎之上,提供了系統架構服務。

bean 工廠是乙個通用的工廠,可以建立和分發各種型別的bean。最常用的beanfactory 是xmlbeanfactory,它從

xml檔案中讀取bean的資訊。  為從beanfactory得到乙個bean,只要簡單的呼叫getbean() 方法,把你需要的bean的

名字,當做引數傳遞過去。

有以下三種實現:

(1) 建構函式配置

(2) setter方法(個人喜歡用)

public class instrumentalist implements performer

public void performer() throws exception

public void setinstrument(instrument instrument)

public void setsong(string song)

public inte***ce instrument

public class dumb implements instrument

}通過set方法屬性,替代建構函式

若引數為乙個類的勢力,則採用下面的方法,植入引數

關於value屬性的使用,欄位string 和 int 之間是沒有區別的,spring 能夠根據字段屬性來自動決定正確的型別。

內部bean------------即在其他類的範圍內所定義的類。內部bean就是在其他bean的範圍內所定義的bean ,考慮

上面例項的乙個特殊情況,將dumb作為 kenny的乙個內部bean ,**如下:

(2) 內部類的最大的缺點是:它們不能復用。內部bean只用於注入,不能被其他bean所使用。

上面介紹了spring配置的基本型別通過value ,而其他類通過ref,但是value和ref只有在屬性是單一的時候才有效。

spring 提供了4個型別的集合配置元素。

集合元素                                      用途

裝配一列值 , 可以重複

裝配值集  , 確保無複製

裝配名稱-值對的集合,名稱和值可以是任意型別

裝配名稱-值對的集合,名稱和值都是string型別

例項如下

public class onemanband implements performer

}   

public onemanband()

public void setinstruments(collectioninstruments)

配置檔案如下:

public class onemanbanddemo2 implements performer

public void performer() throws exception

}public void setinstruments(mapinstruments)            

}配置檔案如下:

public class onemanbanddemo3 implements performer

public void setinstruments(properties instruments)

public void performer() throws exception         }}

配置**如下:

strum

crash

hum

按照上面的方法,來裝載bean的屬性,通常會帶來大量的xml,可以讓spring自動裝配,只要設定需要自動裝配中的autowrite屬性。

(1) byname 試圖在容器中尋找和需要自動裝配的屬性名相同的bean。如果沒有找到到相符的bean ,這個屬性就

沒有裝配。

(2)bytype 試圖在容器中尋找和需要自動裝配的屬性型別相同的bean 。

(3)constructor 試圖在容器中查詢與需要自動裝配的bean的構造函式引數一致的乙個或多個bean。

(4)autodetect 首先嘗試用constructor來自動裝配,然後用bytype方式。

在spring中宣告時,有宣告bean範圍的選項,為了使每次都能產生乙個新的例項,可以宣告bean的

scope屬性為prototype。

預設的範圍是singleton ,即單例模式。

public class stage

private static class stagesingletonholder

// 利用靜態方法返回例項。

public static stage getinstance()

public void perform()

}在配置檔案中,可以使用factory-method來配置。

factory-method ="getinstance">

當例項化bean,有必要執行一些初始化的工作使其處於可用的狀態。再其不需要再從容器中刪除,有些清除工作是有

順序的。spring提供了 bean生命週期的鉤子。 要建立bean初始化時,要呼叫init-method和destroy-method引數來

宣告bean 。

還可以實現兩個特定的spring 介面,initializingbean , disposablebean 是spring的介面。

spring 解讀之 基本bean裝配

容器是spring的核心,spring容器使用di管理所有組成應用系統的元件。spring的ioc容器能夠幫我們自動new物件,物件交給spring管之後我們不用自己手動去new物件了。1.1 bean工廠 由beanfactory介面定義 是最簡單的spring容器,提供了基本的依賴注入支援。採用...

spring 自動裝配bean

在spring中,支援 5 自動裝配模式。public class customer public void setperson person person 要啟用 autowired,必須註冊 autowiredannotationbeanpostprocessor 可以使用在 set方法 構造方...

(Spring)自動裝配bean

自動裝配說明 spring的自動裝配需要從兩個角度來實現,或者說是兩個操作 元件掃瞄和自動裝配組合發揮巨大威力,使得顯示的配置降低到最少。public class cat public class dog public class people public void setcat cat cat ...