Spring配置方法调用传递Calendar.YEAR

时间:2015-10-22 11:23:33

标签: spring

我试图将此参数传递给Spring配置中的方法调用Calendar.add(Calendar.YEAR,-10)。如何传递Calendar.YEAR实际上是一个int,但是Spring配置将它视为一个String并抛出错误。

如果我在没有Spring的情况下打电话就可以了:

from = from.add(Calendar.YEAR, -10);

配置:

<bean id="currCalendar"
        class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
        <property name="targetClass" value="java.util.Calendar"/>
        <property name="staticMethod">
            <value>java.util.Calendar.getInstance</value>
        </property>
    </bean>
    <bean id="from1"
        class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
        <property name="targetObject">
        <ref local="currCalendar"/>
        </property>
        <property name="targetMethod" value="add"/>
        <property name="arguments">

            <list>
                  <value type="int">currCalendar.YEAR</value>
                <value type="int">-50</value>
            </list>
        </property>
    </bean>

请在Spring

中建议如何操作

1 个答案:

答案 0 :(得分:1)

你几乎拥有它,使用#{}占位符:

<list>
      <value type="int">#{currCalendar.YEAR}</value>
      <value type="int">-50</value>
</list>
相关问题