자카르 XML 바인딩

Jakarta XML Binding
자카르 XML 바인딩
리포지토리
기록 위치자바
웹사이트projects.eclipse.org/projects/ee4j.jaxb-impl Edit this at Wikidata

자카르 XML 바인딩(JAXB, 이전의 자바 아키텍처 for XML 바인딩)은 자카르타 EE 개발자들이 자바 클래스XML 표현에 매핑할 수 있도록 하는 소프트웨어 프레임워크다.JAXB는 두 가지 주요 특징을 제공한다: 즉, 자바 객체를 XML로 요약하는 기능과 반대로, 즉, XML을 자바 객체로 되돌리는 것이다.즉, JAXB는 프로그램의 클래스 구조에 대해 XML 로딩 및 저장 루틴의 특정 집합을 구현할 필요 없이 어떤 XML 형식으로도 메모리에 데이터를 저장하고 검색할 수 있다.와 비슷하다xsd.exe그리고XmlSerializer에 있어서NET Framework.

JAXB는 사양이 복잡하고 변경될 때 특히 유용하다.이러한 경우 XML 스키마 정의를 Java 정의와 동기화되도록 정기적으로 변경하는 것은 시간이 많이 걸리고 오류가 발생하기 쉽다.

JAXB는 자카르타 EE 플랫폼(이전의 자바 EE)의 API 중 하나로, Java Web Services Development Pack(JWSDP)의 일부분이며 WSIT의 기반 중 하나이다.또한 Java SE 플랫폼(버전 Java SE 6-10)의 일부였다.자바 SE 11을 기준으로 JAXB가 제거되었다.자세한 내용은 JEP 320을 참조하십시오.

JAXB 1.0은 JSR 31로 Java Community Process에 따라 개발되어 2003년에 출시되었다.[1]2006년 JAXB 2.0은 JSR 222와 2009년 12월에 출시된 Maintenance Release 2에 따라 출시되었다.[2]이 규격에 대한 참조 구현java.netCDDL 오픈 소스 라이센스에 따라 제공되었다.

사용법

툴 "xjc"는 XML 스키마 및 기타 스키마 파일 형식(Java 1.6, REACE NG, XML DTDWSDL은 실험적으로 지원됨)을 클래스 표현으로 변환하는 데 사용할 수 있다.[3]클래스는 javax.xml.bind.notation주석을 사용하여 표시된다.* 네임스페이스(예: @XmlRootElement@XmlElement)XML 목록 시퀀스는 java.util 유형의 속성으로 표현된다.리스트. 마샬러와 언마샬러는 JAXBContext의 인스턴스를 통해 만들어진다.

또한, JAXB에는 "xjc"의 역수를 본질적으로 수행할 수 있는 "schemagen" 도구가 포함되어 있어 주석 처리된 클래스 집합에서 XML 스키마를 만든다.

기본 데이터 유형 바인딩

아래 표에는 JAXB의 자바 데이터 유형에 대한 XML 스키마(XSD) 데이터 유형의 매핑이 나열되어 있다.[4]

XML 스키마 유형 Java 데이터 유형
xsd:string java.lang.String
xsd:integer java.math.BigInteger
xsd:positiveInteger java.math.BigInteger
xsd:int int
xsd:long long
xsd:short short
xsd:decimal java.math.BigDecimal
xsd:float float
xsd:double double
xsd:boolean boolean
xsd:byte byte
xsd:QName javax.xml.namespace.QName
xsd:dateTime javax.xml.datatype.XMLGregorianCalendar
xsd:base64Binary byte[]
xsd:hexBinary byte[]
xsd:unsignedInt long
xsd:unsignedShort int
xsd:unsignedByte short
xsd:unsignedLong java.math.BigDecimal
xsd:time javax.xml.datatype.XMLGregorianCalendar
xsd:date javax.xml.datatype.XMLGregorianCalendar
xsd:g javax.xml.datatype.XMLGregorianCalendar
xsd:anySimpleType[5] java.lang.Object
xsd:anySimpleType[6] java.lang.String
xsd:duration javax.xml.datatype.Duration
xsd:NOTATION javax.xml.namespace.QName

버전

  • Java SE 9: JAXB 2.3.0(모듈 내)java.xml.bind; 이 모듈은 사용되지 않는 것으로 표시됨 )
  • Java SE 8: JAXB 2.2.8 [9]
  • Java SE 7: JAXB 2.2.3 (JSR 222, 유지보수 릴리즈 2)
  • Java SE 6: JAXB 2.0(JSR 222)

참고 항목

참조

  1. ^ "JSRs: Java Specification Requests. JSR 31: XML Data Binding Specification". Retrieved 2011-02-15.
  2. ^ "JSRs: Java Specification Requests. JSR 222: Java Architecture for XML Binding (JAXB) 2.0". Retrieved 2011-02-15.
  3. ^ "xjc - Java Architecture for XML Binding". Retrieved 2011-02-15.
  4. ^ "Using JAXB Data Binding: Standard Data Type Mapping".
  5. ^ 을 위해xsd:element이런 유형의
  6. ^ 을 위해xsd:attribute이런 유형의
  7. ^ "Which JAXB RI is included in which JDK?".
  8. ^ "Deprecated module java.xml.bind".
  9. ^ "Jaxb 2.2.8 (JDK 8)". Retrieved 2015-03-01.
  10. ^ "Java SE 7: Java XML Technology Enhancements". Retrieved 2012-03-21.
  11. ^ "Java SE 6: Features and Enhancements". Retrieved 2012-03-21.
  12. ^ Dennis Sosnoski. "XML and Java technologies: Data binding, Part 2: Performance". Retrieved 2011-02-15.
  13. ^ "XML Binding Frameworks in the Context of Service-Oriented Architecture". Retrieved 2011-02-15.

외부 링크

기사들