class = "com.springinaction.springido1.juggler">
2、注入屬性
(1)通過建構函式注入
class = "com.springinaction.springido1.juggler">
name="beanbags" value="15" />
name="poem"
ref="sonnet29" />
(2)通過set注入
class = "com.springinaction.springido1.juggler">
name="song" value="jingle bells" />
name="instrument"
ref="saxophone" />
3、裝配集合
spring提供了4種型別的集合配置元素,
裝配list型別的值,允許重複
裝配set型別的值,不允許重複
裝配map型別的值,名稱和值可以是任何型別
裝配properties型別的值,名稱和值必須都是string型
4、初始化和銷毀bean
(1)對每乙個bean單獨進行初始化和銷毀
"duke"
class = "com.springinaction.springido1.juggler"
init-method="turnonlights"
destory-method="turnofflights" />
(2)定義上下文所有bean的初始化和銷毀
<?xml version="1.0" encoding="utf-8" ?>
xmlns=""
xmlns:xsi=""
xsi:schemalocation="
/spring-beans-3.0.xsd
default-init-method="
turnonlights"
default-destroy-method="turnofflights" />
四、自動裝配和自動檢測
上面已經講了如何裝配bean,這個過程全程都是使用xml檔案進行配置,但是隨著應用的不斷發展,我們不得不編寫越來越複雜的xml配置,這時,我們就可以使用自動裝配和自動檢測來減少xml的配置數量。
1、spring提供4種自動裝配策略
byname——把與bean屬性名字相同的bean自動裝配到bean的對應屬性中,如果沒有與屬性相匹配的bean,則該屬性不進行裝配。
bytype——把與bean的屬性具有相同型別的bean自動裝配到bean對應的屬性中,如果沒有跟屬性的型別相匹配的bean,則該屬性不被匹配
constructor——把與bean的構造器入參具有相同型別的bean自動裝配到bean構造器對應的入參中。
autodetect——首先嘗試使用constructor進行自動裝配,如果失敗,再嘗試使用bytype進行自動裝配
舉例:如果使用byname自動裝配可見,關於juggler的instrument屬性就被自動注入了,
class = "com.springinaction.springido1.juggler" autowire="byname">
name="song" value="jingle bells" />
id = "instrument"
class="com.springinaction.springido1.saxophone">
2、使用註解裝配
(1)自動裝配
需要配置元素
@autowired
(2)自動檢測
需要配置base-package=」包名」來代替
@component/@controller/@repository/@service
敏捷到底是什麼?
文 ivar jacobson 在支援軟體工程 比如rational統一過程rup 與敏捷陣營 比如scrum或是xp 之間,人們一直存在著衝突。也不難理解,因為這兩種方法間都是在用著彼此並不相容的方式來描述的。其實大可不必,因為他們背後的觀點全然是相輔相成的。關鍵在於該如何用對兩者來說都公平的方式...
我們到底是什麼?
我們到底是什麼?我們是一種生物電流 生物電流有幾種狀態,喜怒哀樂等,可以根據外部環境進行自我切換 該種生物電流附屬在一種器官硬體上面 我們可以從器官硬體上感知一些資訊,產生新的資訊生物電流,新產生的生物電流符合原先的標準 我們可以把資訊電流儲存在器官硬體上,但具體如何儲存等資訊無法被我們感知 我們的...
SDN到底是什麼
sdn到底是什麼?雖然這個概念已經被炒到了,但還沒有人對其給出乙個明確的概念。盛科網路總監張衛峰撰寫了自己關注sdn以來,對其認識的四個階段,最後乙個階段又回到了sdn字面的意思軟體定義網路,每個階段作者的新觀點,也會給我們帶來一些啟發。以下為原文 我對sdn的認識可以分為四個階段,最後乙個階段是在...