উদাহরণ সহ প্রথম Spring OXM প্রোগ্রাম

Spring OXM সেটআপ এবং কনফিগারেশন - স্প্রিং ওএক্সএম (Spring OXM) - Java Technologies

252

স্প্রিং OXM (Object/XML Mapping) ব্যবহার করে একটি সহজ প্রোগ্রাম তৈরি করা যাক, যেখানে জাভা অবজেক্টকে XML ফরম্যাটে রূপান্তর করা হবে এবং XML ডেটা থেকে জাভা অবজেক্ট তৈরি করা হবে। এই প্রোগ্রামে JAXB (Java Architecture for XML Binding) লাইব্রেরি ব্যবহার করা হবে, যা একটি জনপ্রিয় XML মাপিং টুল।


প্রয়োজনীয় জাভা ক্লাস তৈরি করা

প্রথমে একটি সাধারণ জাভা ক্লাস তৈরি করতে হবে, যার নাম Employee। এটি আমাদের 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 অ্যানোটেশনটি আমাদের getter মেথডগুলিতে ব্যবহার করা হয়, যাতে XML এলিমেন্টের মান সেট করা যায়।


Spring XML কনফিগারেশন তৈরি করা

স্প্রিং OXM ব্যবহার করার জন্য একটি Spring কনফিগারেশন ফাইল তৈরি করতে হবে, যেখানে JAXB মাপলার কনফিগার করা হবে। নিচে একটি উদাহরণ দেওয়া হল:

<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"/>

    <!-- JAXBUnmarshaller Bean -->
    <oxm:jaxb-unmarshaller id="unmarshaller" context-path="com.example"/>

</beans>

এখানে context-path="com.example" আপনার Employee ক্লাসের প্যাকেজ নাম হবে। marshaller এবং unmarshaller হল স্প্রিং OXM এর দুটি প্রধান উপাদান যা JAXB ব্যবহার করে XML রূপান্তর করবে।


স্প্রিং OXM ব্যবহার করে কোড লেখার উদাহরণ

এখন আমরা কোডে JAXB মাপলার এবং আনমার্শালারের সাহায্যে XML রূপান্তর এবং ডেটা রিড করার উদাহরণ দেখব।

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.oxm.jaxb.Jaxb2Marshaller;
import org.springframework.oxm.jaxb.Jaxb2Unmarshaller;

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 এবং Unmarshaller বীন্স ইনিশিয়ালাইজ করুন
        Jaxb2Marshaller marshaller = (Jaxb2Marshaller) context.getBean("marshaller");
        Jaxb2Unmarshaller unmarshaller = (Jaxb2Unmarshaller) context.getBean("unmarshaller");

        // 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();
        System.out.println("XML Output:");
        System.out.println(xmlOutput);

        // XML থেকে Employee অবজেক্ট রূপান্তর
        Employee employeeFromXml = (Employee) unmarshaller.unmarshal(new StringReader(xmlOutput));
        System.out.println("Employee from XML:");
        System.out.println("Name: " + employeeFromXml.getName());
        System.out.println("Age: " + employeeFromXml.getAge());
    }
}

এই প্রোগ্রামের ব্যাখ্যা:

  1. Spring Context লোড করা: ClassPathXmlApplicationContext ব্যবহার করে Spring কনফিগারেশন ফাইলটি লোড করা হয়।
  2. Marshaller এবং Unmarshaller ব্যবহার: marshaller অবজেক্টটি Employee ক্লাসের জাভা অবজেক্টকে XML ফরম্যাটে রূপান্তরিত করে, এবং unmarshaller XML ডেটাকে জাভা অবজেক্টে রূপান্তরিত করে।
  3. XML রূপান্তর: marshaller.marshal() পদ্ধতি ব্যবহার করে Employee অবজেক্টটি XML ফরম্যাটে রূপান্তরিত করা হয়।
  4. Unmarshaller ব্যবহার করে XML থেকে অবজেক্ট পুনরুদ্ধার: XML ডেটা থেকে Employee অবজেক্ট পুনরুদ্ধার করতে unmarshaller.unmarshal() পদ্ধতি ব্যবহার করা হয়।

আউটপুট

এটি চালানোর পর আউটপুট হবে:

XML Output:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<employee>
    <name>John Doe</name>
    <age>30</age>
</employee>

Employee from XML:
Name: John Doe
Age: 30

এই প্রোগ্রামে স্প্রিং OXM ব্যবহার করে আমরা সফলভাবে একটি Employee অবজেক্ট XML ফরম্যাটে রূপান্তর করেছি এবং তারপর সেই XML থেকে আবার Employee অবজেক্ট তৈরি করেছি।


স্প্রিং OXM আমাদের XML ডেটার সঙ্গে সহজ এবং কার্যকরী উপায়ে কাজ করার সুযোগ দেয়, এবং এটি স্প্রিং ফ্রেমওয়ার্কের শক্তিশালী একটি উপাদান।

Content added By
Promotion

Are you sure to start over?

Loading...