Resorte con Ejemplo Castor

Con el uso de la clase CastorMarshaller, podemos lograr convertir un objeto Java en código XML y viceversa con la ayuda del uso de castor. El castor es la clase implementada para las interfaces Marshaller y Unmarshaller dentro de él, por lo que no requiere otras configuraciones por defecto. El ejemplo más común de Spring and Castor Integration es ‘Ordenar el objeto Java en el XML.

Implementación: necesitamos crear los siguientes archivos para ordenar objetos Java dentro del uso XML de Spring con Castor:

  1. Trabajador.java
  2. aplcontext.xml
  3. asignador.xml
  4. Usuario.java

El requisito de los archivos Jar es el siguiente: 

Nota: Para ejecutar este ejemplo, necesitamos cargar los siguientes archivos:

  • Archivos jar de Spring Core
  • Archivos jar Spring Web
  • ricino-1.3.jar
  • castor-1.3-core.jar

A. Archivo: Trabajador.java

Este archivo define las tres propiedades que son id, nombre y salario del trabajador con setters y getters.

Java

// Java Program to Illustrate Worker Class
 
package com.geeksforgeeks;
 
// Class
public class Worker {
 
    // Class data members
 
    // Worker id
    private int id;
    // Worker name
    private String name;
    // Worker Salary
    private float sal;
 
    // Getter
    public int gettingId()
    {
        return id;
    }
 
    // Setter
    public void settingId(int id)
    {
        this.id = id;
    }
 
    // Getter
    public String gettingName()
    {
        return name;
    }
 
    // Setter
    public void settingName(String name)
    {
        this.name = name;
    }
 
    // Getter
    public float gettingSal()
    {
        return salary;
    }
 
    // Setter
    public void settingSal(float sal)
    {
        this.sal = sal;
    }
}

B. Archivo: aplcontext.xml

este archivo define un bean castorMarshallerBean como ‘clase de trabajador’ está delimitado con el marco OXM

XML

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springgframework.org/schemas/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instances" 
    xsi:schemaLocation="http://www.springframework.org/schemas/beans  
http://www.springframework.org/schemas/beans/spring-beans-3.0.xsd"> 
   
<bean id="castorMarshallerBean" class="org.springframework.oxm.castor.CastorMarshaller"> 
        <property name="targetClass" value="com.geeksforgeeks.Worker">
  </property> 
        <property name="mappingLocation" value="mapper.xml">
  </property> 
    </bean> 
</beans>

C. Archivo: asignador.xml

XML

<?xml version="1.0"?> 
<!DOCTYPE mapping PUBLIC "-//EXOLAB/Castor Mapping DTED Version 1.0//EN" 
                         "http://castors.org/mapping.dtd"> 
 <mapping> 
    <class name="com.geeksforgeeks.Worker" auto-complete="true" > 
        <map-to xml="Worker" ns-uri="http://www.geeksforgeeks.com" ns-prefix="dp"/> 
       
      <field name="id" type="integer"> 
            <bind-xml name="id" node="attribute">
          </bind-xml> 
        </field> 
       
        <field name="name"> 
            <bind-xml name="name">
          </bind-xml> 
           
        </field> 
        <field name="sal"> 
            <bind-xml name="sal" type="float">
          </bind-xml> 
        </field> 
       
    </class> 
 </mapping>

D. Archivo: Usuario.java

Este archivo obtiene una instancia del Marshaller desde el archivo aplcontext.xml y llama al método marshal a través de él.

Java

// Java Program to Illustrate Application Class
 
package com.geeksforgeeks;
 
// Importing required classes
import java.io.FileWriter;
import java.io.IOException;
import javax.xml.transform.stream.StreamResult;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.oxm.Marshaller;
 
// Main Class
public class User {
 
    // Main driver method
    public static void main(String[] args) throws IOException
    {
 
        // Creating object of ApplicationContext and
        // Marshaller class
        ApplicationContext context = new ClassPathXmlApplicationContext("aplcontext.xml");
        Marshaller marshaller = (Marshaller)context.getBean("castorMarshallerBean");
 
        // Creating object of Worker class
        Worker worker = new Worker();
        worker.settingId(123);
        worker.settingName("Rushikesh Khurpade");
        worker.settingSal(300000);
 
        marshaller.marshal(worker, new StreamResult(new FileWriter("worker.xml")));
 
        // Display message for successful execution
        // of program
        System.out.println(" XML Created Successfully ");
    }
}

Producción:

XML Created Successfully

Archivo: trabajador.xml

XML

<?xml version="1.0" encoding="UTF-8"?> 
<dp:Employee xmlns:dp="http://www.geeksforgeeks.com" id="123"> 
<dp:name>Rushikesh Khurpade</dp:name> 
<dp:salary>300000.0</dp:salary> 
</dp:Employee>

Publicación traducida automáticamente

Artículo escrito por khurpaderushi143 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *