JAXB

JAXB

JAXB steht für Java Architecture for XML Binding.

Es bezeichnet eine Programmschnittstelle in Java, die es ermöglicht, Daten aus einer XML-Schema-Instanz heraus automatisch an Java-Klassen zu binden, und diese Java-Klassen aus einem XML-Schema heraus zu generieren.

Somit ist ein Arbeiten mit XML-Dokumenten möglich, ohne dass der Programmierer direkt Schnittstellen zur Verarbeitung von XML wie SAX oder DOM verwenden muss.

Inhaltsverzeichnis

Objekt-zu-XML-Transformation

Marshalling und Unmarshalling

Marshalling bedeutet die Generierung eines XML-Dokumentes aus einem Baum von Java-Objekten. Dies ist eine spezielle Form der Serialisierung. Anwendungsfälle für diese Umwandlung sind beispielsweise Persistierung in einer Datei oder Übertragung über ein Netzwerk. Der umgekehrte Weg heißt Unmarshalling - eine spezielle Form der Deserialisierung. Hierbei wird aus einem gegebenen XML-Dokument wieder ein Baum von Java-Objekten generiert. Um eine solche Umwandlung eindeutig zu realisieren, verwendet man XML-Schemata. Die verwendeten XML-Dokumente gehorchen den im Schema definierten Regeln. Man nennt sie auch Schema-Instanzen.

Daten-Bindung

Der Begriff der Bindung innerhalb dieses Konzeptes beschreibt einen Satz von Regeln, die die Abbildung/Repräsentation des XML-Schemas gegenüber den zu generierenden Java-Objekten bestimmt. Auf diese vorgegebenen Regeln kann durch Binding Customizations Einfluss genommen werden. Dies kann durch Inline-Notizen im XML-Schema oder durch eine gesonderte Datei geschehen, die dann dem Binding Compiler mit übergeben wird. Dieser hat dann die Aufgabe, das XML-Schema auf eine entsprechende Java-Objekt-Struktur abzubilden.

JAXB Binding Framework

Das JAXB Binding Framework besteht im Kern aus drei Java-Paketen:

  • javax.xml.bind
  • javax.xml.bind.util
  • javax.xml.bind.helpers

Die letzten beiden Pakete liefern unterstützende Funktionen für das Hauptpaket „javax.xml.bind“.

Die Klasse „JAXBContext“ aus „javax.xml.bind“ stellt den Eingangspunkt zur Nutzung des Frameworks innerhalb einer eigenen Java-Anwendung dar.

JAXBContext jc = JAXBContext.newInstance("com.acme.foo:com.acme.bar");
Unmarshaller u = jc.createUnmarshaller();
FooObject fooObj = (FooObject)u.unmarshal(new File("foo.xml"));
BarObject barObj = (BarObject)u.unmarshal(new File("bar.xml"));

Aus dem erstellten Kontext-Objekt wird nun ein „Unmarshaller“ generiert. Mit diesem können dann die XML-Daten auf Java-Objekte abgebildet werden.

Um die Datenobjekte wieder zurück in die XML-Form zu bringen, wird ein „Marshaller“ aus dem Kontext-Objekt erzeugt. Ihm werden das Datenobjekt und ein Streamobjekt („java.io.OutputStream“ oder „java.io.Writer“) übergeben.

 Marshaller m = jc.createMarshaller();
 m.marshal(fooObj, System.out);

Weblinks


Wikimedia Foundation.

Игры ⚽ Нужно решить контрольную?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • JAXB — Java Architecture for XML Binding Java Architecture for XML Binding (JAXB) est l API Java de Sun permettant de créer des classes Java à partir de schémas (.XSD) et inversement. Elle facilite l utilisation du XML en Java en compilant un schéma XML …   Wikipédia en Français

  • JAXB — Java Architecture For Xml Binding (Computing » General) * Java Architecture XML Binding (Computing » Software) …   Abbreviations dictionary

  • JAXB — ● ►en sg. f. ►JAVA►XML Java Architecture for XML Binding. API Java (définie par Sun Microsystems) facilitant le binding entre le code Java et XML (définition d Arnaud Witschger) …   Dictionnaire d'informatique francophone

  • JAXB — abbr. Java API for XML Binding (Java, API, XML) …   United dictionary of abbreviations and acronyms

  • Java Architecture for XML Binding — (JAXB) Maintainer Metro Projekt Entwickler Sun Microsystems Aktuelle Version 2.2.4 update 1 (8. Juni 2011) Betriebssystem Plattformunabhängig …   Deutsch Wikipedia

  • Java Architecture for XML Binding — (JAXB) allows Java developers to map Java classes to XML representations. JAXB provides two main features: the ability to marshal Java objects into XML and the inverse, i.e. to unmarshal XML back into Java objects. In other words, JAXB allows… …   Wikipedia

  • Hyperjaxb2 — Primary goal of the Hyperjaxb development is to provide JAXB objects with a relational persistence layer. To achieve this goal, several add ons have been developed, which combines Sun s reference implementation of JAXB with Hibernate (Java), a… …   Wikipedia

  • .xml — Vorlage:Infobox Dateiformat/Wartung/magic fehltVorlage:Infobox Dateiformat/Wartung/website fehlt Extensible Markup Language Dateiendung .xml …   Deutsch Wikipedia

  • Validierender Parser — Vorlage:Infobox Dateiformat/Wartung/magic fehltVorlage:Infobox Dateiformat/Wartung/website fehlt Extensible Markup Language Dateiendung …   Deutsch Wikipedia

  • XML — Vorlage:Infobox Dateiformat/Wartung/magic fehltVorlage:Infobox Dateiformat/Wartung/website fehlt Extensible Markup Language Dateiendung …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”