English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Xstream C'est une bibliothèque qui permet de sérialiser des objets en xml, et vice versa, sans fichier de mapping. Notez que Castor nécessite un fichier de mapping.
XStreamMarshaller La classe fournit la fonction de sérialisation des objets en xml, et vice versa.
Vous devez créer les fichiers suivants en utilisant Xstream avec Spring pour sérialiser des objets Java en XML :
Employee.java applicationContext.xml Client.java
Pour exécuter cet exemple, vous devez charger :
Fichier jar Spring Core Fichier jar Spring Web xstream-1.3.jar
Télécharger tous les fichiers jar de Spring, y compris core, web, aop, mvc, j2ee, remoting, oxm, jdbc, orm, etc.
Télécharger xstream-1.3.jar
Employee.java
Si trois attributs sont définis, id, setter et getters du salaire.
package com.w3codebox; public class Employee { private int id; private String name; private float salary; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public float getSalary() { return salary; } public void setSalary(float salary) { this.salary = salary; } }
applicationContext.xml
Il définit un Bean xstreamMarshallerBean, où la classe Employee est liée au cadre OXM.
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <bean id="xstreamMarshallerBean" class="org.springframework.oxm.xstream.XStreamMarshaller"> <property name="annotatedClasses" value="com.w3codebox.Employee"></property> </bean> </beans>
Client.java
Il s'obtient l'instance de Marshaller à partir du fichier applicationContext.xml et appelle la méthode marshal.
package com.w3codebox; 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; public class Client{ public static void main(String[] args) throws IOException{ ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); Marshaller marshaller = (Marshaller)context.getBean("xstreamMarshallerBean"); Employee employee = new Employee(); employee.setId(101); employee.setName("Sonoo Jaiswal"); employee.setSalary(100000); marshaller.marshal(employee, new StreamResult(new FileWriter("employee.xml"))); System.out.println("XML créé avec succès"); } }
employee.xml
<com.w3codebox.Employee> <id>101</id> <name>Sonoo Jaiswal</name> <salary>100000.0</salary> </com.w3codebox.Employee>