读书人

spring怎么在xml里配置CalendarDate

发布时间: 2013-11-04 16:56:03 作者: rapoo

spring如何在xml里配置Calendar,Date

文章地址:http://blog.csdn.net/hengyunabc/article/details/14107963

在Spring MVC里可以通过message converter机制来对数据进行格式化,但是在普通的Spring xml配置里就无能为力了。

在网上找了一通,发现也有很多人苦恼这个问题,不妨记录下。


Spring 自带一个PropertyEditor的机制,但是这个是全局的,假如你的配置文件要是和别人有不同的话,那就悲剧了,比如你配置的时间的格式是“yyyy-mm-dd",别人的是"yyyy-mm-dd-hh”。别外自定义的PropertyEditor还要注册到ApplicationContext里,非常麻烦,而且这个也是一个全局的配置。

http://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/validation.html#beans-beans-conversion


别外Spring文档里提到了一个BeanInfo机制,但实际这个机制很坑爹,这个对Date无用,因为CustomDateEditor默认是没有注册到Spring里的。

<bean id="calendarBean" class="java.util.Calendar" factory-method="getInstance">      <property name="time" ref="dateBean"/>  </bean> 

另一个是,参考上面AbstractFactoryBean的思路,其实我们自己定义一个支持自定义格式化字符串的AbstractFactoryBean也是可行的。


不过,扯了这么久,上面都是如何得到一个Date或者Calendar对象,如果硬是要是配置文件里直接用字符串的方式把Date或者Calendar注入到一个Bean,那么只用在Spring Context里注册一个全局的PropertyEditor了。


读书人网 >XML SOAP

热点推荐