উদাহরণ সহ XML থেকে Object Mapping

XML থেকে Object এ Data Mapping - স্প্রিং ওএক্সএম (Spring OXM) - Java Technologies

253

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 অবজেক্টের মধ্যে ডেটা মেপিং করতে সাহায্য করে।

Content added By
Promotion

Are you sure to start over?

Loading...