Spring配置Bean的问题

今天发现了construtor-arg和property的一点不同之处,详述如下。(Spring版本2.5.6)

对于int类型的属性:

property的value可以指定某个类的public static变量,而construtor-arg的value则不能。

比如:

这个是没有问题的

<bean id="transport"
class="org.springframework.beans.factory.config.FieldRetrievingFactoryBean">
<property name="staticField">
<value>com.ibm.mq.jms.JMSC.MQJMS_TP_CLIENT_MQ_TCPIP</value>
</property>
</bean>

而这个则会报错

<bean id="a" class="com.chjiang.A" init-method="init">
<constructor-arg type="int" index="0">

<value>com.chjiang.B.STATIC_VARIABLE</value>

</constructor-arg>
</bean>

需要改成这样才可以

<bean id="a" class="com.chjiang.A" init-method="init">

<constructor-arg type="int" index="0" value="0">
</bean>

你可能感兴趣的:(spring配置)