Из Википедии, бесплатной энциклопедии
  (Перенаправлено из JAXB )
Перейти к навигации Перейти к поиску

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

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

JAXB - один из API-интерфейсов платформы Jakarta EE (ранее Java EE), часть пакета разработки веб-служб Java (JWSDP) и одна из основ WSIT . Он также был частью платформы Java SE (в версии Java SE 6-10). Начиная с Java SE 11, JAXB был удален. Подробнее см. JEP 320 .

JAXB 1.0 был разработан в рамках процесса сообщества Java как JSR 31. [1] В 2006 году JAXB 2.0 был выпущен под JSR 222, а Maintenance Release 2 - в декабре 2009 года. [2] Эталонные реализации этих спецификаций были доступны под лицензией CDDL с открытым исходным кодом. на java.net .

Использование [ править ]

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

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

Привязки типов данных по умолчанию [ править ]

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

Версии [ править ]

  • Java SE 9: JAXB 2.3.0 [7] (в модуле java.xml.bind; этот модуль отмечен как устаревший [8] )
  • Java SE 8: JAXB 2.2.8 [9]
  • Java SE 7: JAXB 2.2.3 (JSR 222, отладочный выпуск 2) [10]
  • Java SE 6: JAXB 2.0 (JSR 222) [11]

См. Также [ править ]

  • Связывание данных XML
  • JiBX - одно из самых быстрых средств связывания XML-данных [12] [13]
  • XMLBeans - технология, аналогичная JAXB и дополняющая ее, от Apache Software Foundation
  • TopLink - объект для реляционного и объект для преобразователя XML из Oracle, который поддерживает JAXB 1.0
  • EclipseLink MOXy - реализация с открытым исходным кодом JAXB и сервисов отображения объектных XML в рамках Eclipse Foundation
  • Liquid XML Studio - коммерческий инструмент для генерации кода привязки данных XML
  • Простая сериализация XML - альтернатива JAXB, позволяющая быстро разрабатывать системы конфигурации и связи XML.

Ссылки [ править ]

  1. ^ «JSR: запросы спецификации Java. JSR 31: спецификация привязки данных XML» . Проверено 15 февраля 2011 .
  2. ^ «JSR: Запросы спецификации Java. JSR 222: Архитектура Java для привязки XML (JAXB) 2.0» . Проверено 15 февраля 2011 .
  3. ^ «xjc - Архитектура Java для привязки XML» . Проверено 15 февраля 2011 .
  4. ^ «Использование привязки данных JAXB: сопоставление стандартных типов данных» .
  5. ^ дляxsd:elementэтого типа
  6. ^ дляxsd:attributeэтого типа
  7. ^ "Какой JAXB RI включен в какой JDK?" .
  8. ^ "Устаревший модуль java.xml.bind" .
  9. ^ "Jaxb 2.2.8 (JDK 8)" . Проверено 1 марта 2015 .
  10. ^ «Java SE 7: Улучшения технологии Java XML» . Проверено 21 марта 2012 .
  11. ^ «Java SE 6: особенности и улучшения» . Проверено 21 марта 2012 .
  12. ^ Деннис Сосноски. «Технологии XML и Java: Связывание данных, Часть 2: Производительность» . Проверено 15 февраля 2011 .
  13. ^ «Структуры привязки XML в контексте сервис-ориентированной архитектуры» . Проверено 15 февраля 2011 .

Внешние ссылки [ править ]

  • Официальный сайт Референс Реализация по проектуGlassFish
  • предыдущая домашняя страница JAXB
  • исходная домашняя страница JAXB
  • Учебное пособие по JAXB от Вольфганга Лауна
  • JSR 222 (JAXB 2.0)
  • JSR 31 (JAXB 1.0)
  • Учебное пособие по Java EE 5 - Связывание схемы XML и классов Java. Глава JAXB учебного пособия по Java EE 5.
  • Мастер JAXB
  • Учебники JAXB

Статьи [ править ]

  • JAXB 2.0 предлагает улучшенную привязку XML в Java
  • Технологии XML и Java: Связывание данных, Часть 2: Производительность