[Proof] @Setter와 @NoArgsConstructor가 있으면 Jackson은 조용히 setter로 되돌아가는가 — 반증
Jackson은 자바 객체와 JSON을 서로 바꿔 주는 라이브러리이고, 스프링이 기본으로 내장해 쓴다. JSON을 받아 객체를 만들 때 Jackson이 고를 수 있는 길은 크게 둘이다.
Jackson은 자바 객체와 JSON을 서로 바꿔 주는 라이브러리이고, 스프링이 기본으로 내장해 쓴다. JSON을 받아 객체를 만들 때 Jackson이 고를 수 있는 길은 크게 둘이다.
DTO 생성자 표준은 금지 목록을 적은 뒤 그 목록이 저절로 지켜진다고 했다.
제목 끝의 「지지」는 판정이다. 증명 글은 실험 결과가 주장을 받쳐 주면 지지(supported), 주장을 뒤집으면 반증(refuted), 어느 쪽인지 가를 수 없으면 판정 불가(inconclusive)라고 적는다. 이 글은 지지다.
DTO 생성자 표준은 DTO를 「생성자로만 만든다」고 정했다. 그래서 빈 객체를 먼저 만들게 하는 @NoArgsConstructor(기본 생성자를 만들어 주는 Lombok 표시)와, 만든 뒤에 값을 바꾸게 하는 @Setter(각 필드의 setter를 만들어 주는 Lombok 표시)...
패키지 구조 표준은 infra(DB와 맞닿는 클래스가 사는 계층)를 package-private으로 막는다. 그렇게 막으면 Service(업무 로직을 처리하는 계층의 클래스)는 infra 안의 클래스(예: Entity, DB 테이블과 짝을 이루는 클래스)를 import 할 수 없다...