Spring OXM (Object/XML Mapping) ব্যবহার শুরু করতে হলে, প্রথমে এর জন্য নির্দিষ্ট কিছু কনফিগারেশন করতে হয়। এটি Spring Framework-এর অংশ, তাই Spring Application Context-এর মধ্যে XML কনফিগারেশন করতে হয়। নিচে Spring OXM সেটআপ এবং কনফিগারেশনের ধাপগুলো আলোচনা করা হল।
Spring OXM-এর জন্য প্রয়োজনীয় ডিপেনডেন্সি
প্রথমে Spring OXM-এর জন্য প্রয়োজনীয় লাইব্রেরি ডিপেনডেন্সি (dependencies) যোগ করতে হবে। যদি আপনি Maven ব্যবহার করেন, তাহলে আপনার pom.xml ফাইলে নিচের ডিপেনডেন্সি যোগ করুন:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-oxm</artifactId>
<version>5.3.20</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.20</version>
</dependency>
Spring OXM লাইব্রেরি অ্যাড করার মাধ্যমে আপনি Spring-এর Object/XML Mapping ফিচার ব্যবহার করতে পারবেন।
Spring OXM কনফিগারেশন ফাইল তৈরি
Spring OXM-এর কাজ শুরু করতে হলে আপনাকে Spring Application Context-এর কনফিগারেশন ফাইল তৈরি করতে হবে। সাধারণত, এটি applicationContext.xml ফাইলে করা হয়।
1. XML Mapping Bean কনফিগারেশন
XML ফাইল এবং Java object-এর মধ্যে রূপান্তর (marshalling/unmarshalling) করার জন্য Spring OXM কনফিগারেশনে একটি Marshaller এবং Unmarshaller bean কনফিগার করতে হবে। নিচে একটি উদাহরণ দেওয়া হল:
<bean id="marshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
<property name="contextPath" value="com.example.model"/>
</bean>
<bean id="unmarshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
<property name="contextPath" value="com.example.model"/>
</bean>
এখানে, contextPath প্রোপার্টি দ্বারা আপনি যে প্যাকেজে আপনার Java model ক্লাস রয়েছে, সেটি উল্লেখ করবেন।
2. Spring OXM Bean সেটআপ
XML ডাটা এবং Java objects-এর মধ্যে রূপান্তর করার জন্য একটি OXMMarshaller bean কনফিগার করা হয়:
<bean id="oxmMarshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
<property name="contextPath" value="com.example.model"/>
</bean>
এখানে, contextPath হল Java model ক্লাসের প্যাকেজ নাম।
Spring OXM কনফিগারেশন প্রোগ্রাম্যাটিক্যালি
Spring OXM কনফিগারেশন প্রোগ্রাম্যাটিক্যালি করা যায়, যাতে XML ফাইলের পরিবর্তে Java কোড ব্যবহার করা হয়। এর জন্য নিচের কোড উদাহরণ অনুসরণ করা যেতে পারে:
@Configuration
public class OXMConfig {
@Bean
public Jaxb2Marshaller marshaller() {
Jaxb2Marshaller marshaller = new Jaxb2Marshaller();
marshaller.setContextPath("com.example.model");
return marshaller;
}
@Bean
public OxmMarshaller oxmMarshaller() {
return new OxmMarshaller(marshaller());
}
}
এখানে, marshaller Bean তৈরি করা হয়েছে যা JAXB কনফিগারেশন ব্যবহার করে Java objects কে XML-এ রূপান্তর করবে।
XML ডাটা Marshalling এবং Unmarshalling
Spring OXM ব্যবহার করে XML ডাটা Marshalling (Java object কে XML-এ রূপান্তর) এবং Unmarshalling (XML ডাটা কে Java object-এ রূপান্তর) করা যায়। নিচে এর উদাহরণ দেওয়া হল।
Marshalling (Java object to XML)
Jaxb2Marshaller marshaller = new Jaxb2Marshaller();
marshaller.setContextPath("com.example.model");
Book book = new Book("Spring OXM", "123456789");
marshaller.marshal(book, new FileOutputStream("book.xml"));
Unmarshalling (XML to Java object)
Jaxb2Marshaller marshaller = new Jaxb2Marshaller();
marshaller.setContextPath("com.example.model");
Book book = (Book) marshaller.unmarshal(new FileInputStream("book.xml"));
System.out.println(book.getTitle());
উপসংহার
Spring OXM সেটআপ এবং কনফিগারেশন প্রক্রিয়া সহজ এবং কার্যকর। XML ডাটা এবং Java objects-এর মধ্যে রূপান্তর করার জন্য Spring OXM অত্যন্ত কার্যকর একটি টুল। এর মাধ্যমে আপনি XML ফাইল এবং Java objects-এর মধ্যে দ্রুত এবং নিরাপদ রূপান্তর করতে পারবেন, যা Spring Framework-এর সঙ্গে কাজ করার ক্ষেত্রে সুবিধাজনক।
Read more