[java] Jackson의 주요 어노테이션: @JsonCreator
Jackson은 Java 객체와 JSON 데이터 간의 변환을 지원하는 라이브러리입니다. @JsonCreator 어노테이션은 주로 생성자에 적용되며, Jackson이 JSON 데이터를 객체로 변환할 때 사용되는 생성자라는 것을 나타냅니다.
@JsonCreator 어노테이션의 활용
@JsonCreator 어노테이션은 다음 상황에서 유용하게 활용될 수 있습니다:
-
다중 생성자 지원: 클래스에 여러 개의 생성자가 있는 경우, Jackson은 디폴트 생성자 외에도
@JsonCreator어노테이션이 적용된 생성자를 활용하여 JSON 데이터를 객체로 변환합니다. -
생성자 파라미터 명시적 지정:
@JsonCreator어노테이션을 사용하면 생성자의 파라미터에@JsonProperty어노테이션을 사용하지 않아도 됩니다. 생성자의 파라미터와 JSON 데이터의 필드명이 일치하지 않더라도,@JsonCreator를 통해 매핑할 수 있습니다.
@JsonCreator 어노테이션 예시
아래의 예시는 @JsonCreator 어노테이션을 사용한 클래스의 생성자입니다.
public class MyPojo {
private String name;
private int age;
@JsonCreator
public MyPojo(@JsonProperty("name") String name, @JsonProperty("age") int age) {
this.name = name;
this.age = age;
}
// Getters and Setters
}
위 코드에서 @JsonCreator 어노테이션은 MyPojo 클래스의 생성자에 적용되어 있습니다. @JsonProperty 어노테이션을 사용하여 생성자의 파라미터와 JSON 데이터의 필드를 매핑하고 있음을 알 수 있습니다.
@JsonCreator 어노테이션은 Jackson에서 JSON 데이터를 Java 객체로 변환할 때 유용하게 활용될 수 있는 기능 중 하나입니다.
더 많은 정보는 Jackson 라이브러리 공식 문서를 참고하시기 바랍니다.