Spring OXM (Object XML Mapping) ব্যবহার করে XML ডেটাকে Java অবজেক্টে রূপান্তর করতে খুবই সহজ। এখানে একটি উদাহরণ দেওয়া হলো, যাতে বুঝতে পারবেন কিভাবে Spring OXM XML থেকে Java অবজেক্টে ম্যাপিং করে।
প্রয়োজনীয় ডিপেনডেন্সি
প্রথমে নিশ্চিত করুন যে আপনার প্রজেক্টে Spring OXM এবং অন্যান্য প্রয়োজনীয় ডিপেনডেন্সি যুক্ত আছে। Maven বা Gradle ব্যবহার করে আপনি এগুলি আগে যুক্ত করতে পারেন। (এই ডিপেনডেন্সি নিয়ে আলোচনা পূর্বে করা হয়েছে।)
উদাহরণ: XML থেকে Java অবজেক্টে রূপান্তর
ধরা যাক, আমাদের একটি XML ডেটা আছে, যেখানে একটি বইয়ের তথ্য রয়েছে। এখন আমরা এই XML ডেটা থেকে Java অবজেক্টে রূপান্তর করব।
1. XML ডেটা (book.xml)
<book>
<title>Spring Framework Basics</title>
<author>John Doe</author>
<price>29.99</price>
</book>
2. Java ক্লাস (Book.java)
এখন আমরা একটি Java ক্লাস তৈরি করব যা Book অবজেক্টটি প্রতিনিধিত্ব করবে।
package com.example;
public class Book {
private String title;
private String author;
private double price;
// Getter and Setter methods
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
}
3. Spring OXM Configuration
Spring OXM এর মাধ্যমে XML থেকে Java অবজেক্টে রূপান্তর করতে Spring কনফিগারেশন ফাইল তৈরি করতে হবে। এখানে JAXB (Java Architecture for XML Binding) ব্যবহার করে আমরা XML ডেটা মেপিং করব।
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd">
<!-- Define the Jaxb2Marshaller bean -->
<bean id="marshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
<property name="classesToBeBound">
<list>
<value>com.example.Book</value>
</list>
</property>
</bean>
<!-- Define the ObjectMapper bean to map XML to Object -->
<bean id="xmlToObject" class="org.springframework.oxm.client.OxmConverter">
<property name="marshaller" ref="marshaller" />
</bean>
</beans>
4. Java কোড: XML থেকে Object Mapping
এখন আমরা Java কোড লিখে XML ডেটাকে Book অবজেক্টে রূপান্তর করব। নিচে Spring OXM এর মাধ্যমে XML থেকে Java অবজেক্টে রূপান্তরের কোড দেওয়া হলো।
package com.example;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.oxm.Marshaller;
import org.springframework.oxm.Unmarshaller;
import org.springframework.oxm.jaxb.Jaxb2Marshaller;
import java.io.File;
public class SpringOXMExample {
public static void main(String[] args) throws Exception {
// Load Spring context from XML configuration
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
// Get the marshaller and unmarshaller beans
Marshaller marshaller = context.getBean("marshaller", Marshaller.class);
Unmarshaller unmarshaller = context.getBean("marshaller", Unmarshaller.class);
// Unmarshal the XML file into a Book object
File xmlFile = new File("book.xml");
Book book = (Book) unmarshaller.unmarshal(xmlFile);
// Print the book details
System.out.println("Book Title: " + book.getTitle());
System.out.println("Book Author: " + book.getAuthor());
System.out.println("Book Price: " + book.getPrice());
context.close();
}
}
5. আউটপুট
এখন যদি আপনি উপরের কোডটি চালান, তাহলে XML থেকে Java অবজেক্টে রূপান্তর হয়ে নিম্নলিখিত আউটপুট দেখতে পাবেন:
Book Title: Spring Framework Basics
Book Author: John Doe
Book Price: 29.99
সারাংশ
এই উদাহরণে আমরা দেখিয়েছি কিভাবে Spring OXM ব্যবহার করে XML ডেটাকে Java অবজেক্টে রূপান্তর করা যায়। JAXB মার্শালার (marshaller) এবং আনমার্শালার (unmarshaller) ব্যবহার করে Spring OXM সহজেই XML এবং Java অবজেক্টের মধ্যে ডেটা মেপিং করতে সাহায্য করে।