我想制作java.util.Date bean。日期必须以人类可读的格式指定(例如字符串" 02/25/1990和#34;)。 它是如何最简单的(不使用已弃用的Date()构造函数)?
<bean id="date" class="java.util.Date" >
<!-- Need 02/25/1990 -->
</bean>
答案 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使用正确的模式,否则可能会产生意外结果