目前為止,我們所有的類都是通過構造器注入,沒有使用setter方法。我們接下來要看如何使用spring xml實現屬性注入。
package soundsystem;
import org.springframework.beans.factory.annotation.autowired;
import org.springframework.stereotype.component;
@component
public class cdplayer implements mediaplayer
public void play()
public compactdisc getcd()
@autowired
public void setcd(compactdisc cd)
}
注釋掉的部分使用的是構造器注入,現在我們使用屬性注入!
一般來說,通用規則,對於
強依賴----->使用構造器注入
可選依賴------>使用屬性注入
對於blankdisc來講,唱片名稱,藝術家以及磁軌是強依賴。但是對於cdplayer來講,compactdisc是乙個可選依賴!即使沒有disk,cdplayer依舊有有限的功能!!
p空間
同樣的我們也可以使用p(property)空間,例子,p:cd-ref="compactdisc",p:指的是p空間,cd是屬性名,ref代表引用,compactdisc代表注入bean的id。
<?xml version="1.0" encoding="utf-8"?>
sgt. pepper
with a little help
上面的例子,我們使用util標籤配置了乙個list,然後就可以使用p標籤來新增這個引用,避免了p標籤無法配置list的劣勢。但是要記得加入util的xsd檔案!!!
Spring Spring實戰第四版 學習筆記
1.component註解如果沒有指定bean name,預設使用類名但類名的第乙個字母小寫作為bean name.如下面的 生死的bean的名字就是 testbean1,component public class testbean1 但是如何你的bean的命名不規則,則可能出現例外,如下面的 生...
c primer大綱(第四版)
第1章 快速入門 第一部分 基本語言 第2章 變數和基本型別 第3章 標準庫型別 第4章 陣列和指標 第5章 表示式 第6章 語句 第7章 函式 第8章 標準io庫 第二部分 容器和演算法 第9章 順序容器 第10章 關聯容器 第11章 泛型演算法 第三部分 類和資料抽象 第12章 類 第13章 複...
《spring實戰第四版》第一章筆記
一 為什麼要使用spring?1 基於pojo的輕量級和最小侵入式程式設計 2 通過依賴注入和面向介面實現松耦合 3 通過切面和慣例進行宣告式程式設計 4 通過切面和模板減少樣板式開發 二 spring的容器可以歸結為兩種 1 beanfactory 三 bean的生命週期 1 spring對bea...