一、自動化裝配
首先,把可能被裝配的類聲明爲組件類,告知spring要爲這個類創建bean如:
import org.springframework.stereotype.Component;
@ Component
public class CD{
private String title="稻香";
private String artist=“周杰倫”;
public void play(){
System.out.println("...童年的紙飛機飛回我手裏...");
}
}
其次,在CDplayer類中聲明自動裝配一個CD(有兩種方法,一種是構造器法,一種Setter方法):
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@ Component
public class CDPlayer{
private CD cd;
at Autowired
public CDPlayer(CD cd){
this.cd=cd;
}
public void play(){
cd.play();
}
}
最後,用java配置或xml配置啓用組件掃描:
java方法:
import org.springframework.context.annotation.componentScan;
import org.springframework.context.annotation.Configuration;
@ Configuration
@ ComponentScan
public class CDPlayerConfig{
}
xml方法:
<bean>
<context:component-scan base-package="..."/>
</beans>
二、通過Java代碼裝配bean
用@ Bean註解來聲明一個簡單bean,如:
@ Bean
public CD oldCd (){
return new CD();
}
這個newcd方法會返回一個對象,這個對象要註冊爲Spring應用上下文中的bean。
接着藉助JavaConfig實現注入:
@ Bean
public CDPlayer cdPlayer(){
return new CDPlayer(oldCd());
}
這裏說明CDPlayer也是一個spring中的bean。
還有一種方法:
@ Bean
public CDPlayer cdPlayer(CD cd){
return new CDPlayer(cd);
}
這種方法,cd既可來自自動xml裝配,也可以是java配置或自動掃描,都可以。三、通過XML裝配bean
藉助構造器注入初始化bean:
①注入引用:
<bean id="cdPlayer" class="soundsystem.CDPlayer">
<constructor-arg ref="cd">
</bean>
②注入字面量:
<bean id="cd" class="soundsystem.BlankDisc">
<constructor-arg value="稻香">
<constructor-arg value="周杰倫">
<constructor-arg>
<list>
<value>,,,</value>
<value>>...</value>
<!--這裏是注入List集合-->
</list>
</constructor-arg>
</bean>
③設置引用屬性:
<bean id="cdPlayer" class="soundsystem.CDPlayer">
<property name="cd" ref="cd">
</bean>
這裏name是屬性名,ref是引用的bean④注入字面量到屬性中:
<bean id="cd" class="soundsystem.BlankDisc">
<property name="title" value="稻香">
<property name="歌手" value="周杰倫">
<property name=“歌詞”>
<list>
<value>第一句</value>
<value>第二句</value>
<value>第三句</value>
</lisst>
</property>
</bean>
四、三種裝配方法的混合使用
在java註解中可以使用@ import(CDPlayerConfig.class)組合其他java註解,使用@ imortResource("classpath:cd-config.xml")組合其他xml註解,也可以用一個更高級的註解把Java,xml註解組合起來。
在xml中可以用<import resource="cd-config.xml">引入xml註解,也可以使用<bean class="soundsystem.CDConfig">引入java註解,也可以用一個更高級的xml把java,xml註解組合起來。