[Spring] Lombok Annotation

서현서현·2022년 7월 13일
0

Spring

목록 보기
7/31

@NoArgsConstructor

: 기본생성자를 자동으로 추가


@AllArgsConstructor

: 모든 필드값을 파라미터로 받는 생성자를 추가


@RequiredArgsConstructor

: final이나 NonNull 필드값만 파라미터로 받는 생성자를 추가한다.


@Getter

: Class내 모든 필드의 Getter method를 자동 생성


@Setter

: Class내 모든 필드의 Setter method를 자동 생성


@ToString

: Class내 모든 필드의 toString method를 자동생성한다

ToString(exclude = "password")
특정 필드를 toString() 결과에서 제외한다.
클래스명(필드1이름=필드1값, 필드2이름=필드2값, …) 식으로 출력된다.


@EqualsAndHshCode

: equals와 hashCode 메소드를 오버라이딩

@EqualsAndHashCode(callSuper = true)
callSuper 속성을 통해 equals와 hashCode 메소드 자동생성시 부모클래스의 필드까지 감안할지 안할지에 대해 설정할수있다.
즉 true면 부모클래스의 필드값도 동일한지 체크하며, false면 자신 클래스의 필드값만 고려한다


@Builder

: 어느 필드에 어떤값을 채워야할지 명확히 정하여 생성시점에 값을 채워준다

Constructor와 Builder의 차이

생성시점에 값을 채워주는 역할은 똑같다. 다만 빌더를 사용하면 어느필드에 어떤값을 채울지 명확하게 인지한다.


@Data

: @Getter @Setter @EqualsAndHashCode @AllArgsConstructor을 포함한 롬복에서 제공하는 필드와 관련된 모든 코드를 생성

실제로 사용하지 않는것이 좋다.





출처 : https://velog.io/@gillog/Spring-Annotation-%EC%A0%95%EB%A6%AC

0개의 댓글