티스토리 뷰

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/

 

[자바] 자주 사용되는 Lombok 어노테이션

Engineering Blog by Dale Seo

www.daleseo.com

 

728x90
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
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