Maison  >  Article  >  Java  >  Quand utiliser l'annotation @ConstructorProperties lors de l'utilisation de Jackson en Java ?

Quand utiliser l'annotation @ConstructorProperties lors de l'utilisation de Jackson en Java ?

PHPz
PHPzavant
2023-08-27 20:53:051021parcourir

L'annotation

Quand utiliser lannotation @ConstructorProperties lors de lutilisation de Jackson en Java ?

@ConstructorProperties provient du package java.bean et est utilisée pour désérialiser JSON en un objet Java via le constructeur annoté. Cette annotation est prise en charge à partir de Jackson version 2.7. Le fonctionnement de cette annotation est très simple, au lieu d'annoter chaque paramètre du constructeur, nous pouvons fournir un tableau contenant les noms de propriétés pour chaque paramètre du constructeur.

Syntaxe

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

Exemple

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;
<strong>   </strong>@ConstructorProperties({"id", "name"})<strong>
</strong>   public Employee(int id, String name) {
      this.id = id;
      this.name = name;
   }
   public int getEmpId() {
      return id;
   }
   public String getEmpName() {
      return name;
   }
}

Sortie

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer