Spring OXM Castor Eksempel af Sumeet Arora

Spring OXM Castor Eksempel

Spring OXM hjælp Castor: Foråret har funktion i xml /objekt bindende. At binde Objekt /XML foråret brug forskellige API. Castor XML mapping er en måde at binde Java objekt til XML-dokument. Det gør det muligt at transformere dataene i Java-objekt i /fra et XML-dokument. Castor giver brugeren mulighed for at angive nogle af det konfiguration af rangering /unmarshalling adfærd ved hjælp af en xml kortlægning fil. Denne fil fortæller køretid miljø, hvordan en java objekt og xml dokument vil forholde sig til hinanden

foråret. Castor marshaller bruges til at konvertere Java objekt til XML-dokumentet. Og foråret Castor unmarshaller bruges til at konvertere XML-dokument tilbage til Java-objekt. Oplysningerne om objektet kortlægning er skrevet i kortlægning fil separat ved udvikleren

Spring Castor Eksempel: Hvis du vil køre dette eksempel skal du downloade foråret og Castor jar afhængigheder.. Du kan også definere disse afhængigheder i pom, så du ikke behøver at downloade krukker separat

pom.xml

. < projekt xmlns = "http://maven.apache.org/POM /4.0.0 "xmlns: xsi =" http://www.w3.org/2001/XMLSchema-instance "

XSi: schemaLocation =" http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

< modelVersion > 4.0.0 < /modelVersion >

< Gruppe-> com.evon.castor.example < /Gruppe->

< artifactId > forår-hjul-eksempel < /artifactId >

< versionen > 0.0.1-SNAPSHOT < /udgave >

< egenskaber >

< forår. udgave > 3.2.3.RELEASE < /spring.version>

< /egenskaber >

< afhængigheder >


< afhængighed >

< Gruppe-> org.springframework < /Gruppe->

< artifactId > fjeder-core < /artifactId >

< versionen > $ {spring.version} < /udgave >

< /afhængighed >

< afhængighed >

< Gruppe-> org.springframework < /Gruppe->

< artifactId > forår-kontekst < /artifactId >

< versionen > $ {spring.version } < /udgave >

< /afhængighed >


< afhængighed >

< Gruppe-> org.springframework < /Gruppe->

< artifactId > forår-oxm < /artifactId >

< versionen > $ {spring.version} < /udgave >

< /afhængighed >


< afhængighed >

< Gruppe-> org.codehaus.castor < /Gruppe->

< artifactId > hjul < /artifactId >

< versionen > 1.2 < /udgave >

< /afhængighed >

< afhængighed >

< Gruppe-> Xerces < /Gruppe->

< artifactId > xercesImpl < /artifactId >

< versionen > 2.8.1 < /udgave >

< /afhængighed >


< /afhængigheder >

< /projekt >

StudentInfo.java

pakke com.evon.castor.example;

public class StudentInfo {

privat lang id;

private String navn;

offentlig lang getId () {

returnere id;

}

public void SETID (lang id) {

this.id = id;

}

offentlige String getNavn () {

returnere navn;

}

public void setName (String navn) {

this.name = navn;

}

Override

public String toString () {

vende tilbage "StudentInfo [id =" + id + ", name =" + navn + "]";

}

}

Ovenstående er den model objekt, som vi vil binde til XML-dokumentet. Nu vil vi skrive en Java-fil, som vil marshal og unmarsahel Java objekt

XMLConverter.java

pakke com.evon.castor.example.;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

import javax.xml.transform.stream.StreamResult;

import javax.xml.transform.stream.StreamSource;

import org.springframework.oxm.Marshaller;

import org.springframework.oxm.Unmarshaller;

public class XMLConverter {

privat statisk endelige String FILE = "student.xml";

privat StudentInfo studentObj = ny StudentInfo ();

privat marshaller marshaller;

private Unmarshaller unmarshaller;

public void setMarshaller (marshaller marshaller) {

this.marshaller = marshaller;

}

public void setUnmarshaller (Unmarshaller unmarshaller) {

this.unmarshaller = unmarshaller;

}

public void saveStudentInfo () kaster IOException {

= null FileOutputStream OutputStream;

prøve {

System.out.println ("--- marshaller ---");

OutputStream = ny FileOutputStream (FILE);

studentObj.setId (1);

studentObj.setName ("Sumit")

this.marshaller.marshal (studentObj, nyt StreamResult (OutputStream));

System.out.println ("StudentInfo" + studentObj + "gemmes student.xml fil.")

} endelig {

hvis (= null OutputStream!) {

outputStream.close ();

}

}

}

public void loadStudentInfo () kaster IOException {

FileInputStream