现在的位置: 首页 > 综合 > 正文

Spring配置Bean的问题

2018年08月28日 ⁄ 综合 ⁄ 共 670字 ⁄ 字号 评论关闭

今天发现了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>

 

抱歉!评论已关闭.