Spring OXM সেটআপ এবং কনফিগারেশন

স্প্রিং ওএক্সএম (Spring OXM) - Java Technologies

295

স্প্রিং ওএক্সএম (Spring OXM) প্রজেক্ট Maven অথবা Gradle ব্যবহার করে তৈরি করা যেতে পারে। এখানে দুইটি মেজর বিল্ড টুল ব্যবহার করে Spring OXM প্রজেক্ট তৈরির পদ্ধতি আলোচনা করা হলো।

Maven দিয়ে Spring OXM প্রজেক্ট তৈরি করতে, প্রথমে আপনার Maven প্রজেক্টে স্প্রিং OXM ডিপেনডেন্সি যোগ করতে হবে। নিচে একটি মৌলিক pom.xml ফাইলের উদাহরণ দেওয়া হলো:

১. pom.xml ফাইল কনফিগারেশন

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>spring-oxm-example</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <!-- Spring OXM dependency -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-oxm</artifactId>
            <version>5.3.25</version> <!-- Check for the latest version -->
        </dependency>

        <!-- JAXB dependency for XML Binding -->
        <dependency>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
            <version>2.3.1</version>
        </dependency>

        <!-- Spring Context dependency for DI -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.3.25</version> <!-- Check for the latest version -->
        </dependency>

        <!-- Spring Test dependency (optional) -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>5.3.25</version> <!-- Check for the latest version -->
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>

২. Spring OXM কনফিগারেশন

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

<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.3.xsd">

    <!-- OXM Bean Configuration -->
    <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>

</beans>

৩. Java কোড

একটি উদাহরণ Java ক্লাস তৈরি করুন, যেখানে Spring OXM ব্যবহার করা হবে:

package com.example;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.oxm.Marshaller;
import org.springframework.oxm.Unmarshaller;

public class SpringOxmExample {

    public static void main(String[] args) {
        ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");

        Marshaller marshaller = (Marshaller) context.getBean("marshaller");
        Unmarshaller unmarshaller = (Unmarshaller) context.getBean("unmarshaller");

        // Example usage of marshalling and unmarshalling
        // Add your logic for marshalling and unmarshalling XML data
    }
}

Gradle দিয়ে Spring OXM প্রজেক্ট তৈরি করা

Gradle ব্যবহার করে Spring OXM প্রজেক্ট তৈরি করার জন্য Gradle কনফিগারেশন ফাইলে (build.gradle) স্প্রিং OXM ডিপেনডেন্সি যোগ করতে হবে।

১. build.gradle কনফিগারেশন

plugins {
    id 'java'
    id 'org.springframework.boot' version '2.7.4'  // Optional for Spring Boot integration
}

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework:spring-oxm:5.3.25'  // Spring OXM dependency
    implementation 'javax.xml.bind:jaxb-api:2.3.1'  // JAXB dependency for XML Binding
    implementation 'org.springframework:spring-context:5.3.25'  // Spring Context dependency
    testImplementation 'org.springframework:spring-test:5.3.25'  // Spring Test dependency (optional)
}

২. Spring OXM কনফিগারেশন

Spring OXM কনফিগারেশন Gradle প্রজেক্টে Maven-এর মতোই হবে। আপনি Spring Bean কনফিগারেশন এবং XML মডেল ফাইল তৈরি করে একইভাবে কনফিগারেশন করতে পারেন।


এইভাবে, Maven অথবা Gradle ব্যবহার করে স্প্রিং ওএক্সএম প্রজেক্ট তৈরি করা যায়। এগুলোর মাধ্যমে আপনি XML ডেটা এবং Java অবজেক্টের মধ্যে রূপান্তর সহজে এবং কার্যকরভাবে পরিচালনা করতে পারবেন।

Content added By

স্প্রিং ওএক্সএম (Spring OXM) প্রজেক্ট তৈরি করতে Maven বা Gradle ব্যবহার করা যেতে পারে। নিচে Maven এবং Gradle উভয়ের জন্যই স্প্রিং OXM প্রকল্প তৈরি করার প্রক্রিয়া বর্ণনা করা হলো।

Maven ব্যবহার করে Spring OXM প্রজেক্ট তৈরি করতে আপনাকে প্রথমে pom.xml ফাইল কনফিগার করতে হবে এবং প্রয়োজনীয় ডিপেনডেন্সি যোগ করতে হবে। নিচে একটি উদাহরণ দেওয়া হলো:

pom.xml কনফিগারেশন:

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>spring-oxm-example</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>

    <dependencies>
        <!-- Spring OXM Dependency -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-oxm</artifactId>
            <version>5.3.22</version> <!-- সর্বশেষ স্প্রিং ভার্সন ব্যবহার করুন -->
        </dependency>

        <!-- Spring Context Dependency -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.3.22</version>
        </dependency>

        <!-- JAXB Dependency (if using JAXB) -->
        <dependency>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
            <version>2.3.1</version>
        </dependency>

        <!-- Logging Dependency -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.32</version>
        </dependency>
    </dependencies>
</project>

এই pom.xml ফাইলে আমরা Spring OXM এবং অন্যান্য প্রয়োজনীয় ডিপেনডেন্সি যুক্ত করেছি, যেমন Spring Context এবং JAXB (যদি JAXB ব্যবহৃত হয়)।


Gradle দিয়ে Spring OXM প্রজেক্ট তৈরি করা

Gradle ব্যবহার করে Spring OXM প্রজেক্ট তৈরি করার জন্য build.gradle ফাইল কনফিগার করা হয়। নিচে Gradle এর জন্য একটি উদাহরণ দেওয়া হলো:

build.gradle কনফিগারেশন:

plugins {
    id 'java'
    id 'org.springframework.boot' version '2.7.4' // Spring Boot ব্যবহার করলে
}

group = 'com.example'
version = '1.0-SNAPSHOT'
sourceCompatibility = '11'

repositories {
    mavenCentral()
}

dependencies {
    // Spring OXM Dependency
    implementation 'org.springframework:spring-oxm:5.3.22' // সর্বশেষ স্প্রিং ভার্সন ব্যবহার করুন

    // Spring Context Dependency
    implementation 'org.springframework:spring-context:5.3.22'

    // JAXB Dependency (if using JAXB)
    implementation 'javax.xml.bind:jaxb-api:2.3.1'

    // Logging Dependency
    implementation 'org.slf4j:slf4j-api:1.7.32'

    // Spring Boot Dependencies (Optional if using Spring Boot)
    implementation 'org.springframework.boot:spring-boot-starter'
}

এখানে build.gradle ফাইলে আমরা Spring OXM এবং অন্যান্য প্রয়োজনীয় ডিপেনডেন্সি যুক্ত করেছি।


Spring OXM কনফিগারেশন

একবার Maven বা Gradle কনফিগারেশন হয়ে গেলে, আপনি স্প্রিং OXM ব্যবহার করতে পারবেন। নিচে একটি উদাহরণ দেওয়া হলো যেখানে Spring OXM ব্যবহার করে XML ডেটা মার্শালিং এবং আনমার্শালিং করা হয়।

Java কোড:

import org.springframework.oxm.jaxb.Jaxb2Marshaller;
import org.springframework.oxm.Marshaller;
import org.springframework.oxm.Unmarshaller;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
import java.io.StringReader;
import java.io.StringWriter;

public class OXMExample {
    public static void main(String[] args) throws Exception {
        // মার্শালার এবং আনমার্শালার তৈরি
        Marshaller marshaller = new Jaxb2Marshaller();
        Unmarshaller unmarshaller = new Jaxb2Marshaller();

        // Java অবজেক্ট
        MyClass myObject = new MyClass("Hello, OXM!");

        // মার্শালিং (Java থেকে XML)
        StringWriter writer = new StringWriter();
        marshaller.marshal(myObject, new StreamResult(writer));
        String xmlOutput = writer.toString();
        System.out.println("XML Output: \n" + xmlOutput);

        // আনমার্শালিং (XML থেকে Java)
        StringReader reader = new StringReader(xmlOutput);
        MyClass unmarshalledObject = (MyClass) unmarshaller.unmarshal(new StreamSource(reader));
        System.out.println("Unmarshalled Object: " + unmarshalledObject.getMessage());
    }
}

এই কোডে Jaxb2Marshaller ব্যবহার করে Java অবজেক্টকে XML-এ রূপান্তরিত (মার্শালিং) এবং XML থেকে Java অবজেক্টে রূপান্তরিত (আনমার্শালিং) করা হয়েছে।


এভাবে আপনি Maven বা Gradle ব্যবহার করে সহজেই Spring OXM প্রজেক্ট তৈরি করতে পারেন এবং XML ডেটার সঙ্গে কাজ করতে পারেন।

Content added By

Spring OXM ব্যবহারের জন্য, আপনি আপনার প্রজেক্টে কিছু নির্দিষ্ট ডিপেনডেন্সি যুক্ত করতে হবে। এই ডিপেনডেন্সিগুলি Spring OXM ফিচারগুলো কার্যকরভাবে ব্যবহার করার জন্য প্রয়োজনীয়। আপনি Maven বা Gradle ব্যবহার করে Spring OXM এর ডিপেনডেন্সি যুক্ত করতে পারেন।


Maven এর মাধ্যমে ডিপেনডেন্সি যুক্ত করা

আপনার pom.xml ফাইলে নিম্নলিখিত Maven ডিপেনডেন্সিগুলি যুক্ত করুন:

<dependencies>
    <!-- Spring OXM Dependency -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-oxm</artifactId>
        <version>5.3.0</version> <!-- বা আপনার প্রয়োজনীয় সংস্করণ -->
    </dependency>

    <!-- JAXB (যদি JAXB ব্যবহার করতে চান) -->
    <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>2.3.1</version>
    </dependency>
    
    <!-- Castor (যদি Castor OXM ব্যবহার করতে চান) -->
    <dependency>
        <groupId>org.castor</groupId>
        <artifactId>castor</artifactId>
        <version>1.4.1</version>
    </dependency>
    
    <!-- Spring Core Dependency (যদি না থাকে) -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>5.3.0</version>
    </dependency>
</dependencies>

এখানে spring-oxm এর ডিপেনডেন্সি হল Spring OXM এর মূল লাইব্রেরি, আর jaxb-api এবং castor ডিপেনডেন্সি ঐচ্ছিক, যা আপনি যদি JAXB বা Castor OXM ব্যবহার করতে চান, তাহলে যুক্ত করবেন।


Gradle এর মাধ্যমে ডিপেনডেন্সি যুক্ত করা

যদি আপনি Gradle ব্যবহার করেন, তাহলে আপনার build.gradle ফাইলে নিচের ডিপেনডেন্সিগুলি যোগ করুন:

dependencies {
    // Spring OXM Dependency
    implementation 'org.springframework:spring-oxm:5.3.0' // বা আপনার প্রয়োজনীয় সংস্করণ

    // JAXB (যদি JAXB ব্যবহার করতে চান)
    implementation 'javax.xml.bind:jaxb-api:2.3.1'
    
    // Castor (যদি Castor OXM ব্যবহার করতে চান)
    implementation 'org.castor:castor:1.4.1'
    
    // Spring Core Dependency (যদি না থাকে)
    implementation 'org.springframework:spring-core:5.3.0'
}

এই ডিপেনডেন্সিগুলি আপনার প্রজেক্টে অন্তর্ভুক্ত করার পর, আপনি Spring OXM এর সুবিধা নিতে পারবেন এবং Java অবজেক্ট এবং XML ডকুমেন্টের মধ্যে ডেটা ম্যাপিং করতে পারবেন।


Content added By

Spring OXM (Object/XML Mapping) হল একটি মডিউল যা Spring ফ্রেমওয়ার্কের মধ্যে XML এবং জাভা অবজেক্টের মধ্যে ম্যাপিং (mapping) করতে ব্যবহৃত হয়। এর মাধ্যমে আপনি XML ডেটাকে সহজে জাভা অবজেক্টে রূপান্তর করতে পারেন এবং বিপরীতভাবে জাভা অবজেক্টকে XML ডেটাতে রূপান্তর করতে পারেন। এই প্রক্রিয়া ব্যবহারের জন্য সাধারণত XML Binding Framework ব্যবহার করা হয়, যেমন JAXB (Java Architecture for XML Binding), Castor, XStream ইত্যাদি।

JAXB (Java Architecture for XML Binding) হল একটি জনপ্রিয় XML binding framework যা Java ক্লাস এবং XML ডকুমেন্টের মধ্যে ম্যাপিং তৈরিতে ব্যবহৃত হয়। Spring OXM-এর মাধ্যমে JAXB-এর সাথে সহজে ইন্টিগ্রেশন করা যায়, এবং এটি স্প্রিং অ্যাপ্লিকেশনগুলিতে XML প্রসেসিং সহজ করে তোলে।

Spring OXM এবং JAXB এর ইন্টিগ্রেশন করার জন্য আপনি নিচের মতো কনফিগারেশন ব্যবহার করতে পারেন:


1. JAXB কনফিগারেশন (JAXB Configuration)

Spring OXM এর মাধ্যমে JAXB এর সাথে ইন্টিগ্রেশন করতে প্রথমে আপনি JAXB মার্শালার (marshaller) এবং আনমার্শালার (unmarshaller) কনফিগার করবেন।

<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 অ্যাট্রিবিউটের মধ্যে আপনি JAXB বন্ডিং ক্লাসের প্যাকেজের নাম প্রদান করবেন, যা JAXB দ্বারা XML ডকুমেন্ট এবং জাভা অবজেক্টে রূপান্তর করতে ব্যবহৃত হবে।


2. Spring OXM এর মাধ্যমে JAXB ব্যবহার

Spring OXM-এর মাধ্যমে JAXB ব্যবহার করতে হলে আপনাকে JAXB এর মার্শালিং এবং আনমার্শালিং প্রক্রিয়া পরিচালনা করতে হবে।

  • Marshaller: এটি জাভা অবজেক্টকে XML ফরম্যাটে রূপান্তর করে।
  • Unmarshaller: এটি XML ডেটাকে জাভা অবজেক্টে রূপান্তর করে।

একটি মার্শালিং উদাহরণ:

Jaxb2Marshaller marshaller = new Jaxb2Marshaller();
marshaller.setContextPath("com.example.model");

MyModel myModel = new MyModel();
StringWriter writer = new StringWriter();
marshaller.marshal(myModel, new StreamResult(writer));
String xml = writer.toString();

এখানে, MyModel একটি জাভা ক্লাস যা JAXB দ্বারা XML ফরম্যাটে রূপান্তরিত হবে।


অন্যান্য XML Binding Framework এর ইন্টিগ্রেশন

Spring OXM অন্যান্য XML Binding Frameworks যেমন Castor, XStream ইত্যাদির সাথেও ইন্টিগ্রেট করা যেতে পারে।

Castor এর সাথে Spring OXM এর ইন্টিগ্রেশন:

<bean id="marshaller" class="org.springframework.oxm.castor.CastorMarshaller">
    <property name="mappingLocation" value="classpath:castor-mapping.xml"/>
</bean>

<bean id="unmarshaller" class="org.springframework.oxm.castor.CastorUnmarshaller"/>

এখানে CastorMarshaller এবং CastorUnmarshaller ব্যবহার করা হয়েছে, যা Castor XML Binding Framework এর সাথে Spring OXM-কে ইন্টিগ্রেট করে।

XStream এর সাথে Spring OXM এর ইন্টিগ্রেশন:

<bean id="marshaller" class="org.springframework.oxm.xstream.XStreamMarshaller">
    <property name="aliases">
        <map>
            <entry key="person" value="com.example.model.Person"/>
        </map>
    </property>
</bean>

<bean id="unmarshaller" class="org.springframework.oxm.xstream.XStreamUnmarshaller"/>

এখানে XStreamMarshaller এবং XStreamUnmarshaller ব্যবহার করা হয়েছে, যা XStream XML Binding Framework এর সাথে Spring OXM-কে ইন্টিগ্রেট করে।


Spring OXM এর সুবিধা

  • সহজ ইন্টিগ্রেশন: Spring OXM অন্যান্য XML Binding Frameworks যেমন JAXB, Castor, এবং XStream-এর সাথে সহজেই ইন্টিগ্রেট করা যায়।
  • কাস্টমাইজড মেপিং: JAXB বা অন্য কোন XML Binding Framework ব্যবহার করে আপনি কাস্টম XML মেপিং তৈরি করতে পারেন।
  • স্প্রিং ফ্রেমওয়ার্কের সাথে একত্রিত হওয়া: Spring OXM স্প্রিং এর অন্যান্য মডিউল, যেমন Spring Web Services, Spring JMS ইত্যাদির সাথে সহজে ইন্টিগ্রেট হতে পারে।

Spring OXM-এর মাধ্যমে JAXB বা অন্যান্য XML Binding Framework এর সাথে ইন্টিগ্রেশন করার মাধ্যমে XML এবং জাভা অবজেক্টের মধ্যে ডেটা স্থানান্তর সহজ এবং কার্যকর হয়, যা স্প্রিং অ্যাপ্লিকেশনগুলির জন্য একটি শক্তিশালী টুল।

Content added By

স্প্রিং 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...