jaxbशुरुआत jaxb से हुई


टिप्पणियों

इस अनुभाग में यह बताया गया है कि jaxb क्या है और एक डेवलपर इसका उपयोग क्यों करना चाहता है।

इसमें जक्सब के भीतर किसी भी बड़े विषयों का उल्लेख करना चाहिए, और संबंधित विषयों को लिंक करना चाहिए। चूंकि jaxb के लिए दस्तावेज़ीकरण नया है, इसलिए आपको उन संबंधित विषयों के प्रारंभिक संस्करण बनाने की आवश्यकता हो सकती है।

XSD से कोड जेनरेशन

JAXB का उपयोग XSD में परिभाषित मॉडल से कक्षाएं उत्पन्न करने के लिए किया जा सकता है। फिर इस एक्सएसडी के खिलाफ एक्सएमएल दस्तावेज़ को जावा उदाहरण के रूप में सीधे पढ़ना संभव होगा और एक्सएमएल दस्तावेज़ के रूप में इन उदाहरणों को विपरीत रूप से सहेजना होगा।

SimpleModel.xsd नामक फ़ाइल में सहेजी गई निम्न XSD लें

<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
 targetNamespace="http://myCorp/schemas/simpleModel"
 xmlns:simple="http://myCorp/schemas/simpleModel"
 elementFormDefault="qualified"
 attributeFormDefault="unqualified">
 
 <complexType name="Person">
     <sequence>
         <element name="FirstName" type="string"/>
         <element name="LastName" type="string"/>
         <element name="DateOfBirth" type="dateTime"/>
     </sequence>
 </complexType>
 
</schema>
 

आप इस कमांड लाइन का उपयोग करके इस XSD से मिलान करने के लिए JAXB का उपयोग स्वतः कक्षाएं उत्पन्न करने के लिए कर सकते हैं (बशर्ते आपका JDK का बिन फ़ोल्डर आपके कंप्यूटर पर हो)

xjc SimpleModel.xsd
 

यह आपके XSD (यहाँ mycorp.schemas.simplemodel) के नाम के आधार पर निम्नलिखित कक्षाओं के साथ एक पैकेज उत्पन्न करेगा:

  • ObjectFactory.java
  • package-info.java
  • Person.java

ऑब्जेक्टफैक्टरी का उपयोग उस वर्ग के उदाहरणों (उदाहरणों) को बनाने के लिए किया जाता है जो उत्पन्न हुए थे। कुछ मामलों में यह एक तुच्छ आवरण जैसा लगता है

new Person();
 

लेकिन अधिक जटिल मामलों में यह आपके उदाहरणों के आस-पास उचित आवरण बना देगा और XML से ऑब्जेक्ट्स को ठीक से मार्शेल और अनमरशॉल को अनुपलब्ध लिंक प्रदान करेगा।

पैकेज- info.java में सामान्य रूप से XSD के बारे में जानकारी है।

अन्य सभी फाइलें एक्सएसडी में वर्णित मॉडल से ली गई कक्षाएं हैं। यहाँ हमारे पास केवल Person.java है क्योंकि हमारे मॉडल में केवल एक ऑब्जेक्ट है।

अन्य कमांड लाइन आर्ग्युमेंट्स का उपयोग करना जैक्सब और एक्सजेसी आपको उत्पन्न कोड पर अत्यधिक शक्ति देगा। XJC भी beyoond जाने और चीजों को करने के लिए प्लगइन्स का उपयोग करने या बनाने का साधन प्रदान करता है:

  • उत्पन्न कोड को एक इंटरफ़ेस लागू करें या एक वर्ग का विस्तार करें।
  • कक्षा के साथ स्वचालित रूप से स्टर्लिंग, हैशकोड, बराबरी आदि उत्पन्न करते हैं।
  • स्वचालित रूप से xml प्रकार (सरल या जटिल) और JavaType के बीच का नक्शा।
  • जनरेट कोड में कस्टम कोड या एनोटेशन इंजेक्ट करें।

और भी बहुत कुछ

आप एक्सजेसी के साथ बातचीत करने के लिए अन्य साधनों का उपयोग भी कर सकते हैं, मावेन प्लगइन्स (कम से कम 4 जो मुझे पता है), चींटी कार्य आदि। कई बार ये उपकरण उन चीजों का प्रदर्शन कर सकते हैं जो केवल संदर्भ कार्यान्वयन थोरुग कमांड लाइन के साथ प्राप्त करना मुश्किल होगा। ।

स्थापना या सेटअप

JDK 6 अपडेट 3 के बाद से JAXB संदर्भ कार्यान्वयन (JAXB-RI) को जावा डेवलपमेंट किट के साथ शामिल किया गया है।

अतिरिक्त विवरणों के लिए अनौपचारिक JAXB गाइड का संदर्भ लें जिस पर JAXB-RI संस्करण JDK के विशिष्ट संस्करणों के साथ शामिल है।