Spring
Lombok 어노테이션 정리
gajy
2022. 9. 25. 21:28
728x90
1. 생성자 관련 어노테이션
@NoArgsConstructor
파라미터가 없는 기본 생성자 생성
@AllArgsConstructor
모든 필드 값을 파리미터로 받는 생성자 생성
@RequiredArgsConstructor
fianl이나 @NonNull인 필드 값을 파라미터로 받는 생성자 생성
2. @Getter/@Setter
getter, setter 생성
3. @Builder
Builder 패턴에 맞는 Builder 생성
아래 Builder 생성 부분을 알아서 생성해준다고 보면 된다.
class Member {
private String name;
private int age;
public static class Builder {
private String name;
private int age;
public Builder() {
}
public Builder name(String name) {
this.name = name;
return this;
}
public Builder age(int age) {
this.age = age;
return this;
}
public Member build() {
Member member = new Member();
member.name = this.name;
member.age = this.age;
return member;
}
}
}
public class Main {
public static void main(String[] args) {
Member member = new Member.Builder().name("Gajy").age(20).build();
}
}
4. @Slf4j
로깅 생성 (아래 코드를 대신한다.)
private static Logger LOG = LoggerFactory.getLogger(App.class);
5. @ToString
toString 메서드 작성, excloude 지원
6. @EqualsAndHashCode(callSuper = true)
equals, hashCode 오버라이딩 자동 생성
callSuper이 true인 경우 부모 클래스 필드 값도 동일한지 체크하며, false이면 자식 클래스의 필드 값만 체크
7. @Date
@Getter + @Setter + @RequiredArgsConstructor + @ToString + @EqualsAndHashCode
참고
https://www.daleseo.com/lombok-popular-annotations/
728x90