Introduction to JAXB 2

JAXB provides a Java API that can map Java objects to XML content and XML content to Java objects.

 

Important notes on JAXB

  1. JAXB stands for Java Architecture for XML Binding

  2. Major components of JAXB are:

    • Schema compiler

    • Schema generator

    • Binding runtime framework

  3. JAXB provides a Java API that can map Java objects to XML content and XML content to Java objects, wihch are known in JAXB terms are marshalling and unmarshalling.

    • Marshaling means to create an XML document from Java object.

    • Unmarshaling creates a Java object tree from an XML document.

  4. Before you can do marsahlling and unmarshalling, you need to create the required JAXB classes.

  5. JAXB 2.x support bidirectional binding between xml schema (XSD) and java classes -

    1. binding from XML schema (XSD) to create java classes and

      • First we need to create an XSD and

      • provide the XML schema as the input to the JAXB compiler, and

      • the JAXB compiler creates the required JAXB classes.

    2. binding of Java classes to create XML Schema components.

      • we need to first define a class using binding annotations.

      • We can create a JAXBContext from this class and

      • do marshaling and unmarshaling using the JAXBContext.

      • We can also apply the schemagen tool to generate a schema definition from this class.

  6. You can find an example for binding from XML schema (XSD) to create JAXB classes and and then do marshalling and unmarshalling @ http://javajee.com/jaxb-2-xsd-to-java-binding-marshaling-and-unmarshalin....

  7. You can find an example for binding from java classes to create xsd, and then do marshaling and unmarshaling: http://javajee.com/jaxb-2-java-to-xsd-binding-marshaling-and-unmarshalin....

 

JAXB and Web Services

  • JAX-WS and JAX-RS web services use JAXB for xml binding and hence knowledge of JAXB and bindings will be really helpful when working with web services.

  • One simple use case is to make our web service asynchronous and for that we need to add <enableAsyncMapping>true</enableAsyncMapping> to a bindings file. 

Quick Notes Finder Tags

Activities (1) advanced java (1) agile (3) App Servers (6) archived notes (2) Arrays (1) Best Practices (12) Best Practices (Design) (3) Best Practices (Java) (7) Best Practices (Java EE) (1) BigData (3) Chars & Encodings (6) coding problems (2) Collections (15) contests (3) Core Java (All) (55) course plan (2) Database (12) Design patterns (8) dev tools (3) downloads (2) eclipse (9) Essentials (1) examples (14) Exception (1) Exceptions (4) Exercise (1) exercises (6) Getting Started (18) Groovy (2) hadoop (4) hibernate (77) hibernate interview questions (6) History (1) Hot book (5) http monitoring (2) Inheritance (4) intellij (1) java 8 notes (4) Java 9 (1) Java Concepts (7) Java Core (9) java ee exercises (1) java ee interview questions (2) Java Elements (16) Java Environment (1) Java Features (4) java interview points (4) java interview questions (4) javajee initiatives (1) javajee thoughts (3) Java Performance (6) Java Programmer 1 (11) Java Programmer 2 (7) Javascript Frameworks (1) Java SE Professional (1) JPA 1 - Module (6) JPA 1 - Modules (1) JSP (1) Legacy Java (1) linked list (3) maven (1) Multithreading (16) NFR (1) No SQL (1) Object Oriented (9) OCPJP (4) OCPWCD (1) OOAD (3) Operators (4) Overloading (2) Overriding (2) Overviews (1) policies (1) programming (1) Quartz Scheduler (1) Quizzes (17) RabbitMQ (1) references (2) restful web service (3) Searching (1) security (10) Servlets (8) Servlets and JSP (31) Site Usage Guidelines (1) Sorting (1) source code management (1) spring (4) spring boot (3) Spring Examples (1) Spring Features (1) spring jpa (1) Stack (1) Streams & IO (3) Strings (11) SW Developer Tools (2) testing (1) troubleshooting (1) user interface (1) vxml (8) web services (1) Web Technologies (1) Web Technology Books (1) youtube (1)