কম্পিউটার

জাভাতে জ্যাকসন ব্যবহার করে @JsonManagedReference এবং @JsonBackReference টীকা কখন ব্যবহার করবেন?


The @JsonManagedReference৷ এবং @JsonBackReference টীকা একটি দ্বিমুখী তে একটি JSON কাঠামো তৈরি করতে ব্যবহার করা যেতে পারে উপায় @JsonManagedReference টীকা হল একটি ফরোয়ার্ড রেফারেন্স যেটি সিরিয়ালাইজেশন প্রক্রিয়ার সময় অন্তর্ভুক্ত যেখানে @JsonBackReference টীকা হল একটি ব্যাক রেফারেন্স যা সিরিয়ালাইজেশন প্রক্রিয়ার সময় বাদ পড়ে।

নীচের উদাহরণে, আমরা @JsonManagedReference এবং @JsonBackReference টীকা প্রয়োগ করতে পারি।

উদাহরণ

import java.util.*;
import com.fasterxml.jackson.annotation.JsonManagedReference;
import com.fasterxml.jackson.annotation.JsonBackReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.core.JsonProcessingException;
public class ManagedReferenceBackReferenceTest {
   public static void main(String args[]) throws JsonProcessingException {
      BackReferenceBeanTest testBean = new BackReferenceBeanTest(110, "Sai Chaitanya");
      ManagedReferenceBeanTest bean = new ManagedReferenceBeanTest(135, "Adithya Ram", testBean);
      testBean.addEmployees(bean);
      ObjectMapper mapper = new ObjectMapper();
      String jsonString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(bean);
      System.out.println(jsonString);
   }
}
class ManagedReferenceBeanTest {
   public int empId = 115;
   public String empName = "Raja Ramesh";
   @JsonManagedReference
   public BackReferenceBeanTest manager;
   public ManagedReferenceBeanTest(int empId, String empName, BackReferenceBeanTest manager) {
      this.empId = empId;
      this.empName = empName;
      this.manager = manager;
   }
}
class BackReferenceBeanTest {
   public int empId = 125;
   public String empName = "Jai Dev";
   @JsonBackReference
   public List<ManagedReferenceBeanTest> list;
   public BackReferenceBeanTest(int empId, String empName) {
      this.empId = empId;
      this.empName = empName;
      list = new ArrayList<ManagedReferenceBeanTest>();
   }
   public void addEmployees(ManagedReferenceBeanTest managedReferenceBeanTest) {
      list.add(managedReferenceBeanTest);
   }
}

আউটপুট

{
   "empId" : 135,
   "empName" : "Adithya Ram",
   "manager" : {
      "empId" : 110,
      "empName" : "Sai Chaitanya"
   }
}

  1. আমরা কখন জাভাতে সিঙ্ক্রোনাইজড ব্লক ব্যবহার করতে পারি?

  2. জাভাতে fillInStackTrace() পদ্ধতি কখন ব্যবহার করবেন?

  3. কখন একটি বিমূর্ত ক্লাস ব্যবহার করবেন এবং কখন জাভাতে একটি ইন্টারফেস ব্যবহার করবেন?

  4. জাভাতে বিমূর্ত পদ্ধতি এবং ক্লাস