Diferencia entre revisiones de «CustomDateEditor»

De Dos Ideas.
Saltar a: navegación, buscar
(Configuración del CustomEditorConfigurer)
(Configuración de nuestro Bean)
 
(No se muestran 8 ediciones intermedias de otro usuario)
Línea 1: Línea 1:
Editor de propiedades del tipo java.util.Date.
+
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.
 
 
Su funcionalidad consiste en poder declarar un Date como String mediante 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.
 
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.
Línea 32: Línea 30:
 
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.
 
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 [http://java.sun.com/javase/6/docs/api/java/text/DateFormat.html DateFormat], que permite definir el formato de fecha esperado y un booleano "allowEmpty" para ver si admite el valor nulo.
 
El constructor de CustomDateEditor recibe dos parámetros un [http://java.sun.com/javase/6/docs/api/java/text/DateFormat.html 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==
 +
 +
<code xml>
 +
<bean id="dao.InvasorDao" class="com.dosideas.dao.impl.InvasorDaoImpl">
 +
    <property name="fechaInvasion" value="01/01/1980"/>
 +
</bean>
 +
</code>
 +
 +
Donde el atributo fechaInvacion es del tipo java.util.Date.
 +
 +
==Ver también==
 +
* [http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/beans/propertyeditors/CustomDateEditor.html Api de CustomDateEditor]
 +
 +
[[Category:Spring Framework]]

Revisión actual del 21:41 22 abr 2010

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