Computer >> Máy Tính >  >> Lập trình >> Java

Việc sử dụng chú thích @JacksonInject bằng cách sử dụng Jackson trong Java là gì?


Jackson @JacksonInject chú thích có thể được sử dụng để nhập các giá trị thành các đối tượng được phân tích cú pháp thay vì đọc các giá trị đó từ JSON. Để đưa các giá trị vào một trường, chúng tôi có thể sử dụng InjectableValues ​​ và cần định cấu hình ObjectMapper lớp để đọc cả các giá trị được đưa vào từ InjectableValues ​​ lớp và các giá trị còn lại từ chuỗi JSON.

Cú pháp

@Target(value={ANNOTATION_TYPE,METHOD,FIELD,PARAMETER})
@Retention(value=RUNTIME)
public @interface JacksonInject

Ví dụ

import com.fasterxml.jackson.annotation.*;
import com.fasterxml.jackson.databind.*;
import java.io.*;
public class JacksonInjectTest {
   public static void main(String args[]) throws IOException {
      String jsonString = "{\"empName\": \"Raja Ramesh\"}";
      InjectableValues injectableValues = new InjectableValues.Std().addValue(int.class, 110);
      Employee emp = new  ObjectMapper().reader(injectableValues).forType(Employee.class).readValue(jsonString);
      System.out.println(emp);
   }
}
// Employee class
class Employee {
   @JacksonInject
   public int empId = 0;
   public String empName = "Adithya";
   @Override
   public String toString() {
      return "Employee{" +
      "empId=" + empId +
      ", empName='" + empName + '\'' +
      '}';
   }
}

Đầu ra

Employee{empId=110, empName='Raja Ramesh'}