JAXB (Java Architecture for XML Binding)はJava EEのAPIであり、JavaオブジェクトとXMLを相互に変換することができる。JavaのオブジェクトをXMLに変換することを「シリアライズ」、XMLをJavaのオブジェクトに変換することを「デシリアライズ」と呼ぶ。
JAXBでは以下のことができる。
JAXBでは、アノテーションでJavaプログラム要素とXMLスキーマをマッピングする。
javax.xml.bind.annotationは、Javaプログラム要素からXMLスキーマのマッピングをカスタマイズするための注釈を定義するパッケージである。
アノテーション | 説明 |
---|---|
@XmlAccessorType | デフォルトでフィールドやプロパティをマップするかどうか。 |
@XmlElement | XMLスキーマの複合型のローカル要素へマップする。 |
@XmlMimeType | Java型とMIMEタイプを関連付ける。 |
@XmlRootElement | XMLのルート要素を指定。 |
@XmlSeeAlso | このクラスをバインドするときに他のクラスもバインドするようにJAXBに指示する。 |
@XmlType | XMLスキーマ型にクラス又は列挙型をマップする。 |
@XmlAccessorType(xmlaccesstype)
@XmlAccessorType(value=xmlaccesstype)
@XmlElement(name=name, namespace=uri, propOrder=propOrder)
@XmlRootElement(name=name, namespace=uri)
JAXBに関するMavenリポジトリを次の表に示す。
groupId | artifactId | 説明 |
---|---|---|
javax.xml.bind | jaxb-api | JAXB API |
Mavenのpom.xmlに依存関係を記述するサンプルを示す。
<dependencies>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
</dependency>
</dependencies>