Zurück zur Skill-Übersicht

Skill-Wissen und Projektmarkt

JAXB

Freelancer, Projekte, Experten und Wissen rund um JAXB.

Kategorie

Backend

Einordnung

JAXB Freelancer, Projekte, Experten und Wissen auf jobtic.com

JAXB gehört zu den gefragtesten Kompetenzen im modernen IT-Projektmarkt. Unternehmen, Recruiter, Projektanbieter und Agenturen suchen kontinuierlich nach qualifizierten IT-Freelancern, Beratern, Entwicklern, Consultants, Administrators, Engineers und Spezialisten mit Erfahrung in JAXB.

Auf jobtic.com finden Unternehmen und Freelancer eine moderne Plattform für IT-Projekte, Projektvermittlung, Freelancer-Profile, Experten-Suche, Projektakquise und berufliche Vernetzung rund um JAXB und viele weitere Technologien, Tools, Systeme, Methoden und IT-Bereiche.

Wikipedia

Java Architecture for XML Binding

Artikel öffnen

Jakarta XML Binding (JAXB; früher Java Architecture for XML Binding) ist 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. Diesen Vorgang nennt man XML-Datenbindung.

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

JAXB 2.0 ist Teil der Java Platform, Enterprise Edition 5.0 und der Standard Edition 6.0. Es ist ein Teil der Web Services Interoperability Technology (WSIT). JAXB 1.0 wurde vom Java Community Process als JSR 31 entwickelt, JAXB 2.0 als JSR 222. Die Referenzimplementierung von JAXB ist Teil des Metro-Projektes der GlassFish-Community.[2]

Seit Version 9 ist JAXB nicht mehr Bestandteil der JRE und des JDK.[3][4]

Objekt-zu-XML-Transformation

Marshalling und Unmarshalling
Marshalling und Unmarshalling

Marshalling generiert bei JAXB aus einem Baum von Java-Objekten ein XML-Dokument. 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.

Datenbindung

Der Begriff der Datenbindung innerhalb dieses Konzeptes beschreibt einen Satz von Regeln, welche die Abbildung/Repräsentation des XML-Schemas gegenüber den zu generierenden Java-Objekten bestimmen. 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.

Die Tabelle unten listet die Abbildung der XML-Schema-Datentypen (XSD) zu den entsprechenden Datentypen in Java in JAXB auf.[5]

XML-Schematyp Java-Datentyp xsd:anySimpleType[6] java.lang.Object xsd:anySimpleType[7] java.lang.String xsd:base64Binary byte[] xsd:boolean boolean xsd:byte byte xsd:date javax.xml.datatype.XMLGregorianCalendar xsd:dateTime javax.xml.datatype.XMLGregorianCalendar xsd:decimal java.math.BigDecimal xsd:double double xsd:duration javax.xml.datatype.Duration xsd:float float xsd:g javax.xml.datatype.XMLGregorianCalendar xsd:hexBinary byte[] xsd:int int xsd:integer java.math.BigInteger xsd:long long xsd:NOTATION javax.xml.namespace.QName xsd:positiveInteger java.math.BigInteger xsd:QName javax.xml.namespace.QName xsd:short short xsd:string java.lang.String xsd:time javax.xml.datatype.XMLGregorianCalendar xsd:unsignedByte short xsd:unsignedInt long xsd:unsignedLong java.math.BigDecimal xsd:unsignedShort int

JAXB Binding Framework

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

  • jakarta.xml.bind
  • jakarta.xml.bind.util
  • jakarta.xml.bind.helpers

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

Die Klasse JAXBContext aus jakarta.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.

Seit JAXB 2.1 stellt die Hilfsklasse JAXB aus jakarta.xml.bind einen vereinfachten Weg dar, dies zu erreichen. Die Erzeugung des Kontextes und des Unmarshallers wird durch diese automatisch intern vorgenommen, was gerade Einsteigern die Nutzung von JAXB erheblich erleichtert. Nachteilig hierbei ist jedoch, dass diese Objekte bei jedem Aufruf neu erzeugt werden, sodass in einigen Anwendungsfällen ein Geschwindigkeitsnachteil resultiert:

    FooObject fooObj = JAXB.unmarshal(new File("foo.xml"), FooObject.class);
    BarObject barObj = JAXB.unmarshal(new File("bar.xml"), BarObject.class);

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

Auch an dieser Stelle erleichtert JAXB 2.1 die Programmierung durch die Hilfsklasse JAXB, welche den Marshaller intern erzeugt und somit zu kürzerem Quellcode führt:

    JAXB.marshal(fooObj, System.out);

Alternativen

Die folgenden Java XML Binding Frameworks können als Alternative zu JAXB verwendet werden:

Weblinks

Einzelnachweise

  1. Release 4.0.9. 28. Mai 2026 (abgerufen am 29. Mai 2026).
  2. JAXB Reference Implementation (Memento des Originals vom 11. Juli 2007 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/jaxb.dev.java.net
  3. Java SE 9 ( JSR 379) Final Release Specification: APIs proposed for removal. Abgerufen am 14. Mai 2019 (englisch).
  4. JEP 320: Remove the Java EE and CORBA Modules. Abgerufen am 14. Mai 2019 (englisch).
  5. Using JAXB Data Binding: Standard Data Type Mapping. Abgerufen am 25. April 2014.
  6. for xsd:element of this type
  7. for xsd:attribute of this type
Wikipedia

Dieser Text basiert auf dem Artikel Java Architecture for XML Binding aus der freien Enzyklopädie Wikipedia und steht unter der Lizenz Creative Commons CC-BY-SA 3.0 Unported. Eine Liste der Autoren ist in der Wikipedia verfügbar.

JAXB auf jobtic.com

Backend

Experten finden

jobtic.com verbindet IT-Freiberufler, Selbstständige, Consultants, Projektanbieter, IT-Dienstleister und Unternehmen in einer zentralen IT-Projektbörse für den deutschsprachigen Markt. Die Plattform unterstützt die Suche nach JAXB Freelancern, JAXB Projekten, Contracting-Einsätzen, Remote-Projekten, IT-Jobs, Interim-Rollen, technischen Experten und spezialisierten Beratern.

Chancen entdecken

Freelancer profitieren von einer professionellen Präsentation ihrer Expertise im Bereich JAXB und erhalten Zugriff auf aktuelle Projektangebote, Projektanfragen und neue Karrierechancen im IT-Freelancer-Markt. Durch moderne Such- und Filterfunktionen lassen sich passende Projekte, Auftraggeber, Recruiter und Kontakte schnell identifizieren.

Wissen einordnen

Neben der Projekt- und Expertenplattform bietet jobtic.com umfangreiche Informationen, Hintergründe und Wiki-Inhalte rund um JAXB. Dazu gehören Grundlagen, Definitionen, Einsatzbereiche, Entwicklungen, Versionen, Methoden, technische Zusammenhänge, Best Practices und aktuelle Marktinformationen zu JAXB.

Vernetzung stärken

Unsere jobtic-Übersicht zu JAXB kombiniert Wissensdatenbank, Projektbörse, Freelancer-Verzeichnis, Experten-Suche und Projektmarkt in einer zentralen Plattform. Besucher finden hier sowohl Informationen zu JAXB als auch passende Freelancer, Berater, Entwickler, Consultants, Administratoren, Support-Spezialisten und aktuelle IT-Projekte mit Bezug zu JAXB.

Kontakte aufbauen

jobtic.com unterstützt Freelancer und Unternehmen dabei, schneller passende Projekte, Experten und Geschäftskontakte im Bereich JAXB zu finden. Egal ob Projektakquise, Expertenvermittlung, Freelancer-Suche, Contracting, IT-Consulting oder spezialisierte Projektbesetzung - jobtic.com bietet die passende Plattform für den modernen IT-Projektmarkt.

Zentral vernetzen

Wer nach JAXB Freelancern, JAXB Experten, JAXB Projekten, JAXB Beratern, JAXB Consulting, JAXB Contracting, JAXB Projektbörse, JAXB Freelancer-Profilen oder aktuellen Entwicklungen rund um JAXB sucht, findet auf jobtic.com eine zentrale Anlaufstelle für Wissen, Projekte und professionelle Vernetzung im IT-Umfeld.

Passende Projekte zu JAXB

Mehr Projekte

Projekte veröffentlichen

Unternehmen können Projekte mit Anforderungen, Laufzeiten, Technologien, Einsatzorten, Remote-Anteilen, Budgetrahmen und Projektbeschreibungen veröffentlichen. Gleichzeitig ermöglicht jobtic.com die gezielte Suche nach verfügbaren JAXB Spezialisten mit passenden Erfahrungen, Branchenkenntnissen und technischen Fähigkeiten.

Aktuell sind keine sichtbaren Projekte verfügbar.