Características que presenta:
- Fácil de utilizar
- Interfaces consistentes
- Jerarquía de excepciones consistentes
JAXB es un framework de mapeo objeto / XML compatible con el esquema XML de W3C. Spring proporciona Jaxb2Marshaller que utiliza JAXB 2.0 API.
La configuración para el uso de Jaxb2Marshaller es:
<beans>
<bean id="jaxb2Marshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
<property name="classesToBeBound">
<list>
<value>myapp.springrest.domain.Movie</value>
</list>
</property>
</bean>
</beans>Los pasos para utilizar OXM serían
- Crear un proyecto y modificar el pom.xml para incluir la siguiente dependencia:
<dependency>
<groupId>org.codehaus.castor</groupId>
<artifactId>castor</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>2.9.1</version>
</dependency>
- Crear la clase a serializar, para utilizarlo con JaxB, es necesario incluir la anotación @XmlRootElement(name="example")
- Crear interfaz O/X Mapper
- Crear la clase de implementación para la interfaz
- Incluir el bean con la clase de implementación en el fichero applicationContext.xml , de esta forma podremos utilizar nuestros propios métodos de marshaller y unmarshaller
<?xml version="1.0" encoding="UTF-8"?>
<beans>
<context:component-scan base-package="com.unitedcoders.examples.spring.oxm.beans" />
<bean id="oxMapper" class="com.unitedcoders.examples.spring.oxm.mapper.OxMapperImpl">
<property name="marshaller" ref="jaxbMarshaller" />
<property name="unmarshaller" ref="jaxbMarshaller" />
</bean>
<oxm:jaxb2-marshaller id="jaxbMarshaller">
<oxm:class-to-be-bound name="com.unitedcoders.examples.spring.oxm.beans.Person" />
</oxm:jaxb2-marshaller>
</beans>
- Creamos una clase Main para comprobar
No hay comentarios:
Publicar un comentario