Главная
Новости
Строительство
Ремонт
Дизайн и интерьер

















Яндекс.Метрика

Java Architecture for XML Binding

Java Architecture for XML Binding (JAXB) позволяет Java разработчикам ставить в соответствие Java классы и XML представления. JAXB предоставляет две основные возможности: маршаллирование Java объектов в XML и наоборот, то есть демаршализация из XML обратно в Java объект. Другими словами, JAXB позволяет хранить и извлекать данные в памяти в любом XML-формате, без необходимости выполнения определённого набора процедур загрузки и сохранения XML. Он похож на xsd.exe и XmlSerializer в .NET Framework.

JAXB особенно полезен, когда спецификация является сложной и меняющейся. В этом случае, постоянные изменения схемы XML определений для синхронизации их с определениями Java могут занять много времени и быть подвержены ошибкам.

JAXB является частью Java SE платформы и является одной из API в Java EE платформе, и является частью Java Web Services Development Pack (JWSDP). Он также является базисом для WSIT. JAXB является частью SE версии 1.6.

JAXB 1.0 был разработан в рамках Java Community Process как JSR 31. Как и в 2006, JAXB 2.0 разрабатывается в рамках JSR 222. Эталонная реализация для этих спецификаций доступна как CDDL open source license на java.net.

Использование

Инструмент «xjc» может использоваться для конвертации XML схемы и схем других файловых типов (как в Java 1.6, RELAX NG, XML DTD, и WSDL поддерживаются экспериментально) в классовые представления. Классы помечаются при помощи аннотаций из пространства имен javax.xml.bind.annotation.*, например, @XmlRootElement и @XmlElement. Последовательности XML-списков представлены атрибутами типа java.util.List. Сериализаторы и десериализаторы создаются через экземпляр JAXBContext

Кроме того, JAXB включает в себя инструмент «schemagen», который может по существу выполнять обратное к «xjc», создавая XML-схему из набора аннотированных классов.

Связывание типов данных по умолчанию

В таблице ниже перечислены отображения типов данных XML схемы (XSD) и типов данных Java в JAXB.

Версии

  • Java SE 7: JAXB 2.2.3 (JSR 222, maintenance release 2)
  • Java SE 6: JAXB 2.0 (JSR 222)

Также смотрите

  • XML data binding
  • JiBX — one of the fastest XML data binders
  • XMLBeans — a similar and complementary technology to JAXB from Apache Software Foundation
  • TopLink — an object to relational and object to XML mapper from Oracle that supports JAXB 1.0
  • EclipseLink MOXy — open source implementation of JAXB and object XML mapping services under the Eclipse Foundation
  • Liquid XML Studio — Commercial tool for XML data binding code generation