Spring java.util.Date bean

时间:2014-05-03 21:15:45

标签: spring date

我想制作java.util.Date bean。日期必须以人类可读的格式指定(例如字符串" 02/25/1990和#34;)。 它是如何最简单的(不使用已弃用的Date()构造函数)?

<bean id="date" class="java.util.Date" >
    <!-- Need 02/25/1990 -->
</bean>

2 个答案:

答案 0 :(得分:4)

我找到了更简单的解决方案:

<bean id="dateFormat" class="java.text.SimpleDateFormat">
    <constructor-arg value="MM/dd/yyyy"/>
</bean>

<bean id="date" factory-bean="dateFormat" factory-method="parse">
    <constructor-arg value="02/25/1990"/>
</bean>

答案 1 :(得分:3)

使用未弃用的Date(long)构造函数:

<bean id="date" class="java.util.Date">
  <constructor-arg type="java.lang.Long" value="635904000000"/>
</bean>

如果要使用String而不是毫秒,则可以执行以下操作(使用SimpleDateFormat生成Date,同时利用MethodInvokingFactoryBean使用指定的参数调用它:< / p>

<bean id="dateFormat" class="java.text.SimpleDateFormat">
   <constructor-arg value="MM/dd/yyyy" />
</bean>

<bean id="date" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
   <property name="targetObject" ref="dateFormat"/>
   <property name="targetMethod" value="parse"/>
   <property name="arguments">
        <list>
            <value type="java.lang.String">02/25/1990</value>
        </list>
    </property>
</bean>

当然,您需要为SimpleDateFormat使用正确的模式,否则可能会产生意外结果