티스토리 뷰

lombok 라이브러리의 Data애노테이션은 아래 다섯개 애노테이션을 한꺼번에 설정해주는 애노테이션이다.

 

Getter,Setter: xx필드에 선언하면 getXx(),isXx(),setXx() 메소드를 생성
RequiredArgsConstructor: final이나 @NonNull인 필드 값만 파라미터로 받는 생성자 생성
ToString: (exclude="xx")식으로 특정 필드를 toString()결과에서 제외시킬수있음, 클래스명(필드1명=필드1값,필드2명=필드2값,...)식으로 출력됨
EqualsAndHashCode: equals,hashCode메소드 자동 생성, (callSuper = true)설정을 통해 부모 클래스 필드 값들도 동일한지 체크하며, 기본은 false로 자신 클래스 필드 값들만 고려함

 

하지만 @AllArgsConstructor 나 @NoArgsConstructor같은 생성자를 만드는 애노테이션을 사용할 경우 @RequiredArgsConstructor애노테이션이 적용되지 않기 때문에 아래와 같이 The constructor is undefined라는 에러가 발생한다.

 

 

따라서 명시적으로 @RequiredArgsConstructor 애노테이션을 추가해야 생성자가 만들어져 에러가 없어진다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함