CustomDateEditor

De Dos Ideas.
Revisión del 21:41 22 abr 2010 de 190.244.50.102 (discusión) (Configuración de nuestro Bean)
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar

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.

Ver también