স্প্রিং ওএক্সএম (Spring OXM) ব্যবহার করে Java অবজেক্ট থেকে XML ডেটা মেপিং করতে হলে, JAXB (Java Architecture for XML Binding) বা অন্যান্য XML মেপিং ফ্রেমওয়ার্ক ব্যবহার করা যায়। এর মাধ্যমে আপনি Java অবজেক্টকে XML ফরম্যাটে কনভার্ট (marshal) করতে পারবেন। এটি খুবই কার্যকরী যখন আপনি Java অবজেক্ট থেকে XML ডকুমেন্ট তৈরি করতে চান, যেমন SOAP (Simple Object Access Protocol) বা অন্যান্য XML ভিত্তিক প্রোটোকলের জন্য।
স্প্রিং ওএক্সএম ব্যবহার করে Object থেকে XML Data Mapping উদাহরণ
পদক্ষেপ ১: Java অবজেক্ট তৈরি
ধরা যাক, আমাদের একটি Person ক্লাস আছে যার মধ্যে দুটি ফিল্ড রয়েছে: নাম এবং বয়স। এই ক্লাসটি XML ডেটা ফরম্যাটে রূপান্তর করতে হবে।
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class Person {
private String name;
private int age;
@XmlElement
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@XmlElement
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
এখানে, @XmlRootElement অ্যানোটেশনটি এই ক্লাসটিকে XML এর মূল উপাদান হিসেবে চিহ্নিত করছে। @XmlElement অ্যানোটেশনটি ক্লাসের গেটার মেথডগুলির জন্য ব্যবহৃত হচ্ছে, যা XML উপাদান হিসেবে রূপান্তরিত হবে।
পদক্ষেপ ২: স্প্রিং কনফিগারেশন তৈরি
স্প্রিং ফ্রেমওয়ার্কে Jaxb2Marshaller ব্যবহার করে JAXB এর মাধ্যমে Object থেকে XML Data Mapping করা যেতে পারে। এটি স্প্রিং কনফিগারেশনের মধ্যে নির্দিষ্ট করতে হবে।
<bean id="marshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
<property name="contextPath" value="com.example"/>
</bean>
এখানে, contextPath সেট করা হয়েছে com.example প্যাকেজে যেখানে Person ক্লাস রয়েছে।
পদক্ষেপ ৩: Java অবজেক্ট থেকে XML ফরম্যাটে রূপান্তর
স্প্রিং ওএক্সএম (Spring OXM) ব্যবহার করে Java অবজেক্ট থেকে XML ডেটা মেপিং করা যেতে পারে Jaxb2Marshaller এর মাধ্যমে। নিচে একটি উদাহরণ দেওয়া হল যেখানে Person অবজেক্টকে XML ফরম্যাটে কনভার্ট করা হচ্ছে।
import org.springframework.oxm.jaxb.Jaxb2Marshaller;
import javax.xml.transform.stream.StreamResult;
import java.io.StringWriter;
public class SpringOXMExample {
public static void main(String[] args) {
Jaxb2Marshaller marshaller = new Jaxb2Marshaller();
marshaller.setContextPath("com.example");
Person person = new Person();
person.setName("John Doe");
person.setAge(30);
StringWriter writer = new StringWriter();
marshaller.marshal(person, new StreamResult(writer));
String xmlOutput = writer.toString();
System.out.println(xmlOutput);
}
}
এখানে, marshaller.marshal() মেথডের মাধ্যমে Java অবজেক্ট person কে XML ফরম্যাটে কনভার্ট করা হচ্ছে। StreamResult এর মাধ্যমে XML ডেটা StringWriter তে লেখানো হচ্ছে, এবং শেষে সেটি প্রিন্ট করা হচ্ছে।
আউটপুট:
যখন আপনি কোডটি চালাবেন, তখন আপনি নিচের মতো XML আউটপুট পাবেন:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<person>
<name>John Doe</name>
<age>30</age>
</person>
এটি Java অবজেক্ট Person থেকে XML ডেটায় সফলভাবে রূপান্তরিত হয়েছে।
স্প্রিং ওএক্সএম ব্যবহার করে Object থেকে XML Data Mapping একটি সহজ এবং কার্যকরী প্রক্রিয়া। এটি Java অবজেক্টগুলিকে XML ফরম্যাটে রূপান্তর করতে সহায়তা করে এবং অন্যান্য XML ভিত্তিক টেকনোলজির সাথে সংযুক্ত করার জন্য একটি শক্তিশালী সমাধান প্রদান করে।