-스프링부트 프로젝트를 보다가 같은 프로젝트 내에서 model객체의 기본 셋팅이 모두 달랐다.

1. getter,setter,생성자까지 모두 수동으로 만든사람

2. @Getter @Setter만 만들고 생성자는 직접만든사람

3. @Data를 이용한 사람

뭔가 통일하고 싶은 마음에 정확한 어노테이션의 사용법을 알아본다.

 

@Getter, @Setter - 필드 단위, 클래스 단위 모두 가능.

@NoArgsConstructor - 파라미터가 없는 생성자 생성. @NotNull 선언 필드 생성x

@RequiredArgsConstructor - 필수인자 

@AllArgsConstructor - 모든 필드 값을 파라미터로 받는 생성자 생성. @NonNull 선언시 Null 검사함.

@ToString - toString()메소드 생성

@EqualsAndHashCode - equal(), hashCode() 메소드 생성.

@Data - Getter + Setter + RequiredArgsConstructor + ToString + EqualsAndHashCode 모두 적용됨 

 

참고자료

https://projectlombok.org/features/constructor

+ Recent posts