SPRING - LomBok

RYU·2025년 5월 19일

JSP

목록 보기
5/5

LomBok

  • JAVA의 라이브러리
  • 반복되는 어노테이션(annotation, @)을 사용해 자동으로 작성해주는 아주 편리한 라이브러리
  • lombok을 이용하면 어노테이션을 이용하는 것만으로 자동으로 Getter, Setter, Constructor(생성자) 등의 코드를 작성해줘 번거로운 과정을 제거해준다.

자주 사용하는 Annotation

@Getter

  • @Getter가 붙은 클래스 내 모든 필드의 Getter 메서드 자동 생성

@Setter

  • @Setter가 붙은 클래스 내 모든 필드의 Setter 메서드 자동 생성
  • Entity 클래스에서 Setter를 만드는 것을 가급적이면 피하는게 좋다 -> Setter의 사용이 Entity의 일관성을 해칠 수 있다.
  • Entity 클래스에서 Setter를 무분별하게 사용하면, Entity의 인스턴스 값이 언제 어디서 변하는지 명확히 알 수 없기 때문에, Setter 대신 다른 방법으로 필드에 값을 넣어주는 것이 좋다. => Entity 클래스에서 Builder패턴을 사용하는 것이 가장 좋다.

@ToString

  • @ToString이 붙은 클래스의 toString() 메서드를 자동 생성
  • @ToString옵션을 사용하면 상속받은 클래스의 정보까지 출력된다. (기본값 = false)
  • 주의점 : @ToString을 붙인 클래스에 순환 참조를 하는 객체 타입 필드가 있다면, 무한 루프가 발생하게 된다. 이때, @ToString(exclude="A")와 같이 명시적으로 해당 필드를 제외시켜줘야 한다.

@Builder

  • 해당 클래스에 Builder를 자동으로 추가
  • 빌더 패턴으로 구현하면 각 값들은 빌더의 각 값들의 이름이 어떤 값으로 세팅이 되는지, 각각 무슨 값을 의미하는지 파악하기 쉬워진다.
  • 생성자로 설정해야하는 값이 많을 경우 빌더를 쓰는 것이 생성자보다 가독성이 좋다.
  • 같은 타입의 다른 변수의 값을 서로 바꿔 넣는 것을 방지할 수 있다.

@NoArgsConstructor

  • 클래스의 기본 생성자를 생성

@AllArgsConstructor

  • 클래스의 모든 필드 값을 파라미터로 받는 생성자를 생성

@RequiredArgsConstructor

  • 클래스의 final 혹은 @NonNull인 필드 값만 파라미터로 받는 생성자를 생성

0개의 댓글