Spring OXM Castor Eksempel ved Sumeet Arora

våren OXM Castor Eksempel

våren OXM bruker Castor: våren har funksjonen av xml /object bindende. Å binde objektet /XML våren bruk annet api. Castor XML mapping er en måte å binde Java-objekt til XML-dokument. Det gjør det mulig å transformere dataene i java objekt i /fra et XML-dokument. Castor tillater brukeren å spesifisere noen av det er konfigurasjonen av marshalling /unmarshalling atferd ved hjelp av en xml kartlegging fil. Denne filen forteller kjøretid miljø som hvordan et java objekt og xml dokumentet vil forholde seg til hverandre fra Spring. Castor marshaller brukes til å konvertere Java-objekt til XML-dokument. Og våren Castor unmarshaller brukes til å konvertere XML-dokument tilbake til Java-objekt. Informasjonen om objektet kartlegging er skrevet i tilordningsfilen separat av utbygger

Spring Castor Eksempel: For å kjøre dette eksemplet må du laste ned våren og Castor jar avhengigheter.. Du kan også definere disse avhengigheter i pom, slik at du ikke trenger å laste ned krukker separat

pom.xml

. < prosjektet 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 >

< groupId > com.evon.castor.example < /groupId >

< artifactId > fjærlakser eksempel < /artifactId >

< versjon > 0.0.1-SNAPSHOT < /versjon >

< eiendommer >

< våren. versjon > 3.2.3.RELEASE < /spring.version>

< /eiendommer >

< avhengig >


< avhengighet >

< groupId > org.springframework < /groupId >

< artifactId > fjærkjerne < /artifactId >

< versjon > $ {spring.version} < /versjon >

< /avhengighet >

< avhengighet >

< groupId > org.springframework < /groupId >

< artifactId > fjær sammenheng < /artifactId >

< versjon > $ {spring.version } < /versjon >

< /avhengighet >


< avhengighet >

< groupId > org.springframework < /groupId >

< artifactId > fjær oxm < /artifactId >

< versjon > $ {spring.version} < /versjon >

< /avhengighet >


< avhengighet >

< groupId > org.codehaus.castor < /groupId >

< artifactId > lakser < /artifactId >

< versjon > 1,2 < /versjon >

< /avhengighet >

< avhengighet >

< groupId > Xerces < /groupId >

< artifactId > xercesImpl < /artifactId >

< versjon > 2.8.1 < /versjon >

< /avhengighet >


< /avhengig >

< /prosjekt >

StudentInfo.java

pakken 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;

}

public String getName () {

returnere navn;

}

public void setName (String navn) {

this.name = navn;

}

Override

public String toString () {

tilbake "StudentInfo [id =" + id + ", name =" + navn + "]";

}

}

ovenfor er modellen objektet som vi vil binde til XML-dokument. Nå skal vi skrive en Java-fil som vil marskalk og unmarsahel Java objekt

XMLConverter.java

pakken 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 {

private static endelige String FILE = "student.xml";

privat StudentInfo studentObj = new StudentInfo ();

privat Marshaller marshaller;

privat Unmarshaller unmarshaller;

public void setMarshaller (Marshaller marshaller) {

this.marshaller = marshaller;

}

public void setUnmarshaller (Unmarshaller unmarshaller) {

this.unmarshaller = unmarshaller;

}

public void saveStudentInfo () kaster IOException {

Fileoutputstream outputStream = null;

try {

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

outputStream = new Fileoutputstream (FIL);

studentObj.setId (1);

studentObj.setName ("Sumit");

this.marshaller.marshal (studentObj, ny StreamResult (outputStream));

System.out.println ("StudentInfo" + studentObj + "frelst til student.xml fil.");

} finally {

if (outputStream = null) {

outputStream.close ();

}

}

}

public void loadStudentInfo () kaster IOException {

Fileinputstream