Привязка XML Джакарты

Программная среда Java EE
Привязка XML Джакарты
Репозиторий
  • github.com/eclipse-ee4j/jaxb-ri
Написано вЯва
Веб-сайтproject.eclipse.org/projects/ee4j.jaxb-impl

Jakarta XML Binding ( JAXB ; ранее Java Architecture for XML Binding ) — это программная среда , которая позволяет разработчикам Java 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 Web Services Development Pack (JWSDP) и одна из основ для WSIT . Он также был частью платформы Java SE (в версии Java SE 6–10). Начиная с Java SE 11, JAXB был удален. Подробности см. в JEP 320.

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

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

Инструмент " xjc " можно использовать для преобразования XML Schema и других типов файлов схем (начиная с 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 Schema (XSD) с типами данных Java в JAXB. [4]

Тип схемы XMLТип данных Java
xsd:stringjava.lang.String
xsd:integerjava.math.BigInteger
xsd:positiveIntegerjava.math.BigInteger
xsd:intint
xsd:longlong
xsd:shortshort
xsd:decimaljava.math.BigDecimal
xsd:floatfloat
xsd:doubledouble
xsd:booleanboolean
xsd:bytebyte
xsd:QNamejavax.xml.namespace.QName
xsd:dateTimejavax.xml.datatype.XMLGregorianCalendar
xsd:base64Binarybyte[]
xsd:hexBinarybyte[]
xsd:unsignedIntlong
xsd:unsignedShortint
xsd:unsignedByteshort
xsd:unsignedLongjava.math.BigDecimal
xsd:timejavax.xml.datatype.XMLGregorianCalendar
xsd:datejavax.xml.datatype.XMLGregorianCalendar
xsd:gjavax.xml.datatype.XMLGregorianCalendar
xsd:anySimpleType[5]java.lang.Object
xsd:anySimpleType[6]java.lang.String
xsd:durationjavax.xml.datatype.Duration
xsd:NOTATIONjavax.xml.namespace.QName

Версии

  • 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]

Смотрите также

Ссылки

  1. ^ "JSR: Запросы спецификации Java. JSR 31: Спецификация привязки данных XML" . Получено 15.02.2011 .
  2. ^ "JSR: Запросы спецификации Java. JSR 222: Архитектура Java для XML-связывания (JAXB) 2.0" . Получено 15.02.2011 .
  3. ^ "xjc - Архитектура Java для XML-связывания" . Получено 2011-02-15 .
  4. ^ «Использование привязки данных JAXB: стандартное сопоставление типов данных».
  5. ^ для xsd:elementэтого типа
  6. ^ для xsd:attributeэтого типа
  7. ^ «Какой JAXB RI включен в какой JDK?».
  8. ^ "Устаревший модуль java.xml.bind".
  9. ^ "Jaxb 2.2.8 (JDK 8)". Архивировано из оригинала 12 мая 2015 г. Получено 01.03.2015 .
  10. ^ "Java SE 7: Улучшения технологии Java XML" . Получено 21.03.2012 .
  11. ^ "Java SE 6: Возможности и улучшения" . Получено 21.03.2012 .
  • Официальный сайт Реализовано в проекте GlassFish
  • Предыдущая домашняя страница JAXB Архивировано 2017-05-04 на Wayback Machine
  • Оригинальная домашняя страница JAXB Архивировано 09.07.2005 на Wayback Machine
  • Учебное пособие по JAXB, архив 2013-03-23 ​​на Wayback Machine , Вольфганг Лаун
  • JSR 222 (JAXB 2.0)
  • JSR 31 (JAXB 1.0)
  • Учебное пособие по Java EE 5 — Связывание между XML-схемой и классами Java. Глава JAXB учебного пособия по Java EE 5.
  • JAXB Wizard Архивировано 2012-05-31 на Wayback Machine
  • Учебники JAXB

Статьи

  • JAXB 2.0 предлагает улучшенную XML-связку в Java
  • Технологии XML и Java: Привязка данных, Часть 2: Производительность
Взято с "https://en.wikipedia.org/w/index.php?title=Jakarta_XML_Binding&oldid=1272762258"