1. 程式人生 > >Spring之XML配置Bean的屬性注入

Spring之XML配置Bean的屬性注入

    Spring中XML檔案配置Bean的簡單示例,如下:

<bean id="car" class="com.smart.ditype.Car">
    <property name="color">
        <value>紅色</value>
    </property>
</bean>

    注:在上述例子中,<property>標籤對應的屬性型別是基礎資料型別,Spring容器會將它的字面值“紅色”自動轉化成Bean物件中屬性所對應到的字串型別,但是除了字串、整型等這些基礎資料型別外,還有Bean、List、Set、Map、Properties等型別。

    注:如果所賦值內容可以被XML檔案解析,如:<、&、>、“、‘等,則需要進行特殊處理方可被正確賦值,如下:

<bean id="car" class="com.smart.ditype.Car">
    <property name="type">
        <value><![CDATA[XX&55]]></value>
    </property>
    <property name="xml">
        <value>&lt:開尖括號</value>
    </property>
</bean>

 

    注:上述中Bean物件兩個屬性賦值分別為XX&55和<開尖括號,使用<![CDATA[文字內容]]>使得文字內容當作普通文字進行處理,&lt;是<的轉義格式,另外還有&gt;是>的轉義、&amp;是&的轉義、&quot;是“的轉義、&apos;是‘的轉義

    注:<value></value>中帶有空格則賦予的值將包括空格,如果想要將null賦給屬性,如下:

<bean id="car" class
="com.smart.ditype.Car"> <property name="color"> <null/> </property> </bean>

 

    1、Bean物件中Bean屬性在XML檔案中的配置如下:

<bean id="car" class="com.smart.ditype.Car">
    <property name="boss">
        <ref bean="boss"></ref>
    </property>
</bean>
<bean id="boss" class="com.smart.ditype.Boss"/>

 

    注:如果①Bean只被②Bean引用而不被其他任何Bean引用,那麼可以將①Bean以內部Bean的方式注入到②Bean,如下:

<bean id="car" class="com.smart.ditype.Car">
    <property name="boss">
        <bean class="com.smart.ditype.Boss">
            <property name="color">
                 <value>紅色</value>
            </property>
        </bean>
    </property>
</bean>

 

    2、Beab物件中集合屬性在XML檔案中的配置如下:

<bean id="car" class="com.smart.ditype.Car">
    <property name="list">
        <list>
            <value>看報</value>
            <value>賽車</value>
        </list>
    </property>
    <property name="set">
        <set>
             <value>踢球</value>
             <value>打牌</value>
        </set>
    </property>
    <property name="map">
        <map>
            <entry>
                <key><value>am</value></key>
                <value>見客戶</value>
            </entry>
        </map>
    </property>
    <property name="properties">
        <props>
<prop key="mail">[email protected]</prop> </props> </property> </bean>