SPRING Annotation (3)

Ga0·2023년 4월 16일
0

SPRING

목록 보기
6/14

주요 어노테이션 (3)

Lombok Annotation

  • Lombok은 코드를 크게 줄여주어 가독성을 높힐 수 있도록 도와주는 라이브러리이다.

@Setter@Getter@ToString

  • 각 필드의 getter, setter 메서드 코드 작성 없이 어노테이션 @Getter, @Setter을 추가해주면 필드별로
    Getter()메소드와 Setter()메소드 자동으로 생성한다.
  • @ToString또한 toString()메서드 코드 작성없이 어노테이션 @ToString을 추가해주면 자동으로 생성한다.

@AllArgsConstructor@NoArgsConstructor

  • @AllArgsContructor은 풀 생성자(모든 필드 값을 파라미터로 받는 생성자)를 자동 생성해주며, .
  • @NoArgsConstructor은 빈 생성자를 자동 생성한다.

@Builder

  • 빌더 패턴은 생성 패턴 중 하나로, “인스턴스”를 만두는 절차를 “추상화”하는 패턴이다.
  • 다수 필드를 가지는 복잡한 클래스일 경우 생성자 대신 빌더를 사용하는 경우가 많다! (이유 : 생성자의 매개변수 순서를 일일히 적어주는 것에 대해 생각보다 문제도 많이 발생하고 불편하기 때문 ⇒ 빌더를 사용하면 생성자의 매개변수가 몇번째인지 기억하지 않도 된다.)
  • 하지만, 편리한 대신 빌더 패턴을 코드를 작성하려면 코딩량이 상당하다.
  • 이러한 코딩량을 단번에 해결해주는 게 이 @Builder인데 이 어노테이션을 추가해주면 해당 클래스에 @Builder을 추가해준다.

@Data

  • @Data는 위에서 @Getter, @Setter, @ToString 그리고 아직 보지 못했던, @RequiredArgsConstructor, @EqualsAndHashCode을 한꺼번에 설정(자동 생성)한다.

0개의 댓글