উদাহরণ সহ JSON Integration

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

242

Spring OXM (Object XML Mapping) হল Spring Framework-এর একটি উপাদান, যা Java অবজেক্ট এবং XML ডেটার মধ্যে ম্যাপিং করার জন্য ব্যবহৃত হয়। এটি XML-এর সাথে কাজ করার জন্য সরলীকৃত এবং স্ট্যান্ডার্ড পদ্ধতি প্রদান করে। যদিও Spring OXM সাধারণত XML-এর জন্য ব্যবহৃত হয়, JSON-এর মতো ডেটা ফর্ম্যাটের সাথে একত্রিকরণ করার জন্য এর কাস্টমাইজেশন ব্যবহার করা যায়।

নিচে Spring OXM ব্যবহার করে JSON ইন্টিগ্রেশনের উদাহরণ দেখানো হয়েছে:


উদাহরণ: Spring OXM দিয়ে JSON Serialize এবং Deserialize

প্রয়োজনীয় নির্ভরতা (Maven)

<dependencies>
    <!-- Spring OXM -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-oxm</artifactId>
        <version>5.3.25</version>
    </dependency>
    <!-- Jackson for JSON -->
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.15.2</version>
    </dependency>
</dependencies>

Java ক্লাস

package com.example.oxm;

import com.fasterxml.jackson.annotation.JsonProperty;

public class User {
    @JsonProperty("id")
    private int id;

    @JsonProperty("name")
    private String name;

    @JsonProperty("email")
    private String email;

    // Getters and Setters
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}

Spring Bean Configuration

package com.example.oxm;

import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.oxm.jaxb.Jaxb2Marshaller;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class AppConfig {

    @Bean
    public ObjectMapper objectMapper() {
        return new ObjectMapper();
    }

    @Bean
    public Jaxb2Marshaller jaxb2Marshaller() {
        Jaxb2Marshaller marshaller = new Jaxb2Marshaller();
        marshaller.setClassesToBeBound(User.class);
        return marshaller;
    }
}

JSON Serialization এবং Deserialization

package com.example.oxm;

import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
public class JsonIntegrationExample {

    @Autowired
    private ObjectMapper objectMapper;

    public String serializeToJson(User user) throws Exception {
        // Object to JSON String
        return objectMapper.writeValueAsString(user);
    }

    public User deserializeFromJson(String json) throws Exception {
        // JSON String to Object
        return objectMapper.readValue(json, User.class);
    }
}

Main Method

package com.example.oxm;

import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class Main {
    public static void main(String[] args) {
        ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);
        JsonIntegrationExample jsonExample = context.getBean(JsonIntegrationExample.class);

        try {
            // Create a User object
            User user = new User();
            user.setId(1);
            user.setName("John Doe");
            user.setEmail("john.doe@example.com");

            // Serialize to JSON
            String json = jsonExample.serializeToJson(user);
            System.out.println("Serialized JSON: " + json);

            // Deserialize from JSON
            User deserializedUser = jsonExample.deserializeFromJson(json);
            System.out.println("Deserialized User: " + deserializedUser.getName() + ", " + deserializedUser.getEmail());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

আউটপুট

Serialized JSON: {"id":1,"name":"John Doe","email":"john.doe@example.com"}
Deserialized User: John Doe, john.doe@example.com

এই উদাহরণে, Spring OXM মূলত XML প্রসেসিং-এর জন্য ব্যবহৃত হলেও, আমরা Jackson ObjectMapper ব্যবহার করে JSON-এর সাথে কাজ করেছি। JSON ইন্টিগ্রেশনের জন্য ObjectMapper একটি কার্যকরী পদ্ধতি প্রদান করে।

Content added By
Promotion

Are you sure to start over?

Loading...