基础篇——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、Bean对象中集合属性在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">17896532@123.com</prop> </props> </property> </bean>

 

posted @ 2018-11-16 13:36  不浪小生  阅读(9769)  评论(0编辑  收藏  举报