39장. A JAXBContext 오브젝트 사용


초록

JAXBContext 개체를 사용하면 Apache CXF의 런타임이 XML 요소와 Java 개체 간에 데이터를 변환할 수 있습니다. 애플리케이션 개발자는 메시지 처리기에서 JAXB 개체를 사용하고 원시 XML 메시지로 작업하는 소비자를 구현할 때 JAXBContext 개체를 인스턴스화해야 합니다.

39.1. 개요

JAXBContext 개체는 런타임에서 사용하는 하위 수준 오브젝트입니다. 런타임은 XML 요소와 해당 Java 표현을 변환할 수 있습니다. 애플리케이션 개발자는 일반적으로 JAXBContext 개체를 사용할 필요가 없습니다. XML 데이터의 마샬링 및 분리는 일반적으로 JAX-WS 애플리케이션의 전송 및 바인딩 계층에서 처리됩니다.

그러나 애플리케이션이 XML 메시지 콘텐츠를 직접 조작해야 하는 경우가 있습니다. 다음 두 가지 경우 중 하나를 수행합니다.

사용 가능한 JAXBContext.newInstance() 메서드 중 하나를 사용하여 JAXBContext 개체를 인스턴스화해야 합니다.

39.2. 모범 사례

jaxbContext 오브젝트는 인스턴스화하는 데 리소스 집약적입니다. 애플리케이션에서 가능한 적은 수의 인스턴스를 생성하는 것이 좋습니다. 이를 수행하는 한 가지 방법은 애플리케이션에서 사용하는 모든 JAXB 개체를 관리하고 가능한 한 많은 애플리케이션 부분 간에 공유할 수 있는 단일 JAXBContext 개체를 만드는 것입니다.

jaxbContext 개체는 스레드로부터 안전 합니다.

39.3. 개체 팩토리를 사용하여 JAXBContext 개체 가져오기

JAXBContext 클래스는 JAXB 개체를 구현하는 클래스 목록을 사용하는 예 39.1. “클래스를 사용하여 JAXB 컨텍스트 가져오기” 에 표시된 newInstance() 메서드를 제공합니다.

예 39.1. 클래스를 사용하여 JAXB 컨텍스트 가져오기

staticJAXBContextnewInstanceClass…​classesToBeBoundJAXBException

반환된 JAXBObject 오브젝트는 메서드에 전달된 클래스에서 구현하는 JAXB 오브젝트에 대해 마샬링 및 unmarshal 데이터를 마샬링할 수 있습니다. 또한 메서드에 전달된 모든 클래스에서 정적으로 참조되는 모든 클래스를 사용할 수 있습니다.

애플리케이션에서 사용하는 모든 JAXB 클래스의 이름을 newInstance() 메서드에 전달할 수 있지만 효율적이지 않습니다. 동일한 목표를 달성하는 보다 효율적인 방법은 애플리케이션에 생성된 오브젝트 팩토리 또는 개체 팩토리를 전달하는 것입니다. 결과 JAXBContext 개체는 지정된 오브젝트 팩토리를 인스턴스화할 수 있는 JAXB 클래스를 관리할 수 있습니다.

39.4. 패키지 이름을 사용하여 JAXBContext 개체 가져오기

JAXBContext 클래스는 예 39.2. “클래스를 사용하여 JAXB 컨텍스트 가져오기” 에 표시된 newInstance() 메서드를 제공하며, 여기에는 콜론(:) 별도의 패키지 이름 목록을 사용합니다. 지정된 패키지에는 XML 스키마에서 파생된 JAXB 개체가 포함되어야 합니다.

예 39.2. 클래스를 사용하여 JAXB 컨텍스트 가져오기

staticJAXBContextnewInstanceStringcontextPathJAXBException

반환된 JAXBContext 오브젝트는 지정된 패키지의 클래스에서 구현하는 모든 JAXB 오브젝트에 대해 마샬링 및 unmarshal 데이터를 마샬링할 수 있습니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.