English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Spring stream

Xstream 객체를 xml로 시리얼라이즈하고 역시리얼라이즈하는 라이브러리입니다. 매핑 파일이 필요하지 않습니다. 주의하세요, castor는 매핑 파일이 필요합니다.

XStreamMarshaller 객체를 xml로编组和 다시 역환환하는 기능을 제공하는 클래스입니다.

Spring과 Xstream 통합 예제(Java 객체를 XML로编组)

Xstream를 사용하여 다음 파일을 생성하려면 Spring을 사용해야 합니다:

Employee.java applicationContext.xml Client.java

필수 Jar 파일

이 예제를 실행하려면 다음을 로드해야 합니다:

Spring Core jar 파일 Spring Web jar 파일 xstream-1.3.jar

core, web, aop, mvc, j와 같은 spring 모든 jar 파일을 다운로드하세요.2ee, remoting, oxm, jdbc, orm 등.

xstream 다운로드-1.3.jar


Employee.java

만약 세 가지 속성 id, setter와 getters의 이름과 급여가 정의되어 있다면。

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

它定义了一个Bean xstreamMarshallerBean,其中Employee类与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

它从applicationContext.xml文件获取Marshaller的实例并调用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 Created Sucessfully");
 }
}

예제의 출력

employee.xml

<com.w3codebox.Employee>
<id>101</id>
<name>Sonoo Jaiswal</name>
<salary>100000.0</salary>
</com.w3codebox.Employee>