কম্পিউটার

জাভাতে জ্যাকসনের সাথে @ConstructorProperties টীকা কখন ব্যবহার করবেন?


The @ConstructorProperties৷ টীকা java.bean থেকে এসেছে s প্যাকেজ, টীকা কনস্ট্রাক্টর এর মাধ্যমে JSON-কে জাভা অবজেক্টে ডিসিরিয়ালাইজ করতে ব্যবহৃত . এই টীকাটি জ্যাকসন 2.7 সংস্করণ থেকে সমর্থন করে পরবর্তী যেভাবে এই টীকাটি খুব সহজ কাজ করে, কনস্ট্রাক্টরের প্রতিটি প্যারামিটার টীকা করার পরিবর্তে, আমরা প্রতিটি কনস্ট্রাক্টর প্যারামিটারের জন্য বৈশিষ্ট্যের নাম সহ একটি অ্যারে প্রদান করতে পারি।

সিনট্যাক্স

@Documented
@Target(value=CONSTRUCTOR)
@Retention(value=RUNTIME)
public @interface ConstructorProperties

উদাহরণ

import com.fasterxml.jackson.databind.ObjectMapper;
import java.beans.ConstructorProperties;
public class ConstructorPropertiesAnnotationTest {
   public static void main(String args[]) throws Exception {
      ObjectMapper mapper = new ObjectMapper();
      Employee emp = new Employee(115, "Raja");
      String jsonString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(emp);
      System.out.println(jsonString);
   }
}
// Employee class
class Employee {
   private final int id;
   private final String name;
   @ConstructorProperties({"id", "name"})
   public Employee(int id, String name) {
      this.id = id;
      this.name = name;
   }
   public int getEmpId() {
      return id;
   }
   public String getEmpName() {
      return name;
   }
}

আউটপুট

{
 "empName" : "Raja",
 "empId" : 115
}

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

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

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

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