1. 程式人生 > >spring bean的配置----applicationContext.xml

spring bean的配置----applicationContext.xml

spring 配置檔案的根元素是<beans> ,<beans>中包含了多個<bean>子元素,每個<bean>元素定義一個Bean,並描述Bean如何被裝配到spring容器中。

bean元素常用屬性及其子元素如下

屬性或子元素 描述
id bean的唯一標識,在程式碼中通過beanFactory獲取bean例項時需要以此作為索引名稱
class bean的具體實現類,值=  包名.類名
scope bean例項的作用域
<constructor-arg>

構造方法注入,指定構造方法的引數,

index屬性---指定引數的序號

ref---指定bean的引用關係

type---指定引數型別

value---指定引數的常量值

<property>

<bean>元素的子元素,用於setter方法注入屬性。

name屬性---指定bean例項中相應的屬性名稱

value----指定bean的屬性值

ref----指定屬性對beanFactory中其他Bean的引用關係

<list> <property>元素的子元素,用於封裝List或陣列型別的依賴注入
<map> <property>元素的子元素,用於封裝Map型別的依賴注入
<set> <property>元素的子元素,用於封裝set型別的依賴注入
<entry> <map>元素的子元素,用於設定一個鍵值對

bean的配置程式碼示例

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd">
    
<!--    將 dao.TestDIDaoImpl託管給spring -->
    <bean id="mytestDao" class="dao.TestDIDaoImpl"></bean>
    
<!--     使用構造方法注入 -->
    <bean  id="testDIService" class="service.TestDIServiceImpl">
    	<!-- 將 mytestDao注入到TestDIServiceImpl類的屬性TestDIDao上 -->
        <constructor-arg  index="0" ref="mytestDao" />
    </bean>

<!-- 
constructor-arg 定義類構造方法的引數
index 定義引數的位置
ref 指定某個例項的引用,如果引數是常量值,ref由value代替
 -->
  
    <!-- 使用setter方法注入 -->
    <bean id="testDIService2" class="service.TestDIServiceImpl2">
    	<property name="tdo"  ref="mytestDao"></property>
    	<!--
    	  name  setter方法注入的屬性
    	  ref 指定某個例項的引用
    	  -->
    </bean>
 
</beans>