属性注入、构造方法注入(使用构造器注入可以指定参数的位置和类型以区分重载的构造器)
使用构造器注入配置示例:
<bean id="car1" class="bean.Car">
<constructor-arg value="300000" index="2" type="double"/>
<constructor-arg value="Shanghai" index="1"/>
<constructor-arg value="Audi" index="0" />
</bean>
上面示例中的value值可以以属性的方式书写,也可以以子节点的方式书写,把上面代码改写为如下形式效果是相同的。
<bean id="car1" class="bean.Car">
<constructor-arg index="2" type="double">
<value>300000</value>
</constructor-arg>
<constructor-arg value="Shanghai" index="1"/>
<constructor-arg value="Audi" index="0" />
</bean>
如果包含特殊字符,需要用<![CDATA[]]>把值包起来,示例如下:
<bean id="car1" class="bean.Car">
<constructor-arg index="2" type="double">
<value>300000</value>
</constructor-arg>
<constructor-arg index="1">
<value><![CDATA[<Shanghai>^]]></value>
</constructor-arg>
<constructor-arg value="Audi" index="0" />
</bean>