JAXB (Java Architecture for XML Binding)

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スキーマのマッピングをカスタマイズするための注釈を定義するパッケージである。

JAXBのアノテーション一覧
アノテーション 説明
@XmlAccessorType デフォルトでフィールドやプロパティをマップするかどうか。
@XmlElement XMLスキーマの複合型のローカル要素へマップする。
@XmlMimeType Java型とMIMEタイプを関連付ける。
@XmlRootElement XMLのルート要素を指定。
@XmlSeeAlso このクラスをバインドするときに他のクラスもバインドするようにJAXBに指示する。
@XmlType XMLスキーマ型にクラス又は列挙型をマップする。

@javax.xml.bind.annotation.XmlAccessorType

@XmlAccessorType(xmlaccesstype)
@XmlAccessorType(value=xmlaccesstype)

@javax.xml.bind.annotation.XmlElement

@XmlElement(name=name, namespace=uri, propOrder=propOrder)

@javax.xml.bind.annotation.XmlRootElement

@XmlRootElement(name=name, namespace=uri)

Mavenリポジトリ

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>