CustomDateEditor
Su funcionalidad consiste en poder declarar un Date como String mediante la inyección de dependecias y que sea Spring quien haga toda la transformaación.
Lo primero que debemos hacer es crear un bean que le diga a Spring que editores de propiedades vamos a usar en nuestra aplicación.
Configuración del CustomEditorConfigurer
<bean id="customEditorConfigurer" class="org.springframework.beans.factory.config.CustomEditorConfigurer"> <property name="customEditors"> <map> <entry key="java.util.Date"> <bean class="org.springframework.beans.propertyeditors.CustomDateEditor"> <constructor-arg index="0"> <bean class="java.text.SimpleDateFormat"> <constructor-arg value="dd/MM/yyyy"/> </bean> </constructor-arg> <constructor-arg index="1" value="false"/> </bean> </entry> </map> </property> </bean>
CustomEditorConfigurer es un BeanPostProcessor que carga los editores de propiedades en la BeanFactory. Cuando Spring detecte que tiene una propiedad del tipo java.util.Date llamará a su editor de propiedades correspondiente, en este caso CustomDateEditor. El constructor de CustomDateEditor recibe dos parámetros un DateFormat, que permite definir el formato de fecha esperado y un booleano "allowEmpty" para ver si admite el valor nulo.
Configuración de nuestro Bean
<bean id="dao.InvasorDao" class="com.dosideas.dao.impl.InvasorDaoImpl">
<property name="fechaInvasion" value="01/01/1980"/> </bean>
Donde el atributo fechaInvacion es del tipo java.util.Date.