স্প্রিং ওএক্সএম (Spring OXM) ব্যবহার করে Java Object কে XML ফরম্যাটে রূপান্তর (marshal) করার প্রক্রিয়া সহজ ও কার্যকরী। এটি Java ক্লাস এবং XML ডেটার মধ্যে একটি সংযোগ তৈরি করে, যাতে আপনি সহজে Java অবজেক্টকে XML ফাইল বা স্ট্রিমে রূপান্তর করতে পারেন।
এই টিউটোরিয়ালে আমরা দেখব কিভাবে স্প্রিং OXM ব্যবহার করে একটি Java অবজেক্টকে XML ফরম্যাটে রূপান্তর করা যায়।
প্রয়োজনীয় সেটআপ
স্প্রিং OXM ব্যবহার করতে হলে প্রথমে কিছু সেটআপ প্রয়োজন। এর জন্য আপনাকে Spring Context কনফিগারেশন ফাইল তৈরি করতে হবে, এবং JAXB বা অন্য কোনো XML মাপিং ফ্রেমওয়ার্ক ব্যবহার করতে হবে।
Java ক্লাস তৈরি করা
প্রথমে একটি Employee নামক Java ক্লাস তৈরি করুন, যেটি XML ডেটা এবং Java অবজেক্টের মধ্যে মেলবন্ধন করবে। এখানে আমরা @XmlRootElement এবং @XmlElement অ্যানোটেশন ব্যবহার করব যা JAXB দ্বারা XML ডেটার জন্য প্রয়োজনীয়।
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class Employee {
private String name;
private int age;
// Getter and Setter methods
@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 অ্যানোটেশনটি ব্যবহার করা হয় যাতে JAXB XML ডকুমেন্টের এলিমেন্টগুলির মান মিলে।
Spring OXM কনফিগারেশন
স্প্রিং OXM কনফিগারেশন XML ফাইলে করা হয়, যেখানে JAXB Marshaller এবং Unmarshaller সঠিকভাবে কনফিগার করা হয়। নিচে একটি কনফিগারেশন ফাইলের উদাহরণ দেওয়া হল:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:oxm="http://www.springframework.org/schema/oxm"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/oxm
http://www.springframework.org/schema/oxm/spring-oxm.xsd">
<!-- JAXB Marshaller Bean -->
<oxm:jaxb-marshaller id="marshaller" context-path="com.example"/>
</beans>
এখানে context-path="com.example" আপনার Employee ক্লাসের প্যাকেজ নাম হবে। marshaller Bean স্প্রিং OXM ব্যবহার করে Java অবজেক্টকে XML এ রূপান্তরিত করবে।
Java Object কে XML এ রূপান্তর করা
এখন আমরা একটি Java অবজেক্ট তৈরি করব এবং স্প্রিং OXM ব্যবহার করে তাকে XML ফরম্যাটে রূপান্তর করব। নিচে একটি উদাহরণ দেওয়া হল:
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
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) {
// Spring Context লোড করুন
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
// JAXB Marshaller Bean ইনিশিয়ালাইজ করুন
Jaxb2Marshaller marshaller = (Jaxb2Marshaller) context.getBean("marshaller");
// Employee অবজেক্ট তৈরি
Employee employee = new Employee();
employee.setName("John Doe");
employee.setAge(30);
// Employee অবজেক্ট XML এ রূপান্তর
StringWriter writer = new StringWriter();
marshaller.marshal(employee, new StreamResult(writer));
String xmlOutput = writer.toString();
// XML আউটপুট প্রিন্ট করা
System.out.println("XML Output:");
System.out.println(xmlOutput);
}
}
প্রোগ্রামটির ব্যাখ্যা
- Spring Context লোড:
ClassPathXmlApplicationContextব্যবহার করে Spring কনফিগারেশন ফাইলটি লোড করা হয়। - Marshaller Bean ব্যবহার:
marshallerBean ব্যবহার করে Java অবজেক্টEmployeeকে XML ফরম্যাটে রূপান্তরিত করা হয়। - XML রূপান্তর:
marshaller.marshal()মেথড ব্যবহার করে Java অবজেক্ট XML ফরম্যাটে রূপান্তরিত করা হয়।StreamResultক্লাসটি XML আউটপুট লেখার জন্য ব্যবহার করা হয়। - XML আউটপুট: XML আউটপুটটি স্ট্রিং আকারে
StringWriterব্যবহার করে প্রিন্ট করা হয়।
আউটপুট
এই প্রোগ্রামটি চালানোর পর নিম্নলিখিত XML আউটপুটটি পাওয়া যাবে:
XML Output:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<employee>
<name>John Doe</name>
<age>30</age>
</employee>
এখানে Employee অবজেক্টটি XML ফরম্যাটে সফলভাবে রূপান্তরিত হয়েছে। XML ডেটাটি আমাদের Employee অবজেক্টের নাম ও বয়স তথ্য ধারণ করছে।
স্প্রিং OXM ব্যবহার করে Java Object কে XML এ রূপান্তর করা খুবই সহজ এবং স্পষ্ট। এই প্রক্রিয়াটি বিশেষত ব্যবহৃত হয় যখন কোনো Java অ্যাপ্লিকেশনকে XML ডেটার সাথে কাজ করতে হয়, যেমন ওয়েব সার্ভিস বা কনফিগারেশন ফাইল ব্যবস্থাপনা।