[Java] Lombok

Lombok(롬복)

Lombok 이란?

  • Java model object(DTO, VO, Domain)를 만들 때, 각 멤버 필드(property) 들에 대한 기본적인 함수들 즉, getter/setter, toString, constructor 등 불필요하게 쓰이는 반복적인 코드를 줄여주기 위해서 추가하는 어노테이션의 모음 라이브러리이다.
  • 다시 말해, 어노테이션만 추가하면 각 멤버 필드에 대해 필요한 함수들을 생략할 수 있는 것이다. 특히 properties의 개수가 많을수록 정말 효율적으로 쓰일 수 있다.


사용법?

  • IDE의 Plug-in store 탭에서 Lombok 라이브러리를 찾아 install 하는 방법으로 간단하게 추가할 수 있다.
  • Lombok.jar 파일을 직접 다운로드 받아, 해당 jar파일의 경로를 추가해 직접 라이브러리를 추가할 수도 있다.
  • 사용하고자 하는 자바 파일의 상단에 @Annotation 형식으로 추가해주면 된다.
  • 그러면 컴파일 시 해당 어노테이션을 읽어 직접 작성한 코드 없이도 메소드 등이 포함된 것으로 인식한다.


자주 사용되는 어노테이션

@Data

  • @Data는 다음 어노테이션들을 모두 포함한다.
    • @ToString
    • @EqualsAndHashCode
    • @Getter
    • @Setter
    • @RequiredArgsConstructor
  • 주의할 점은, JPA 등의 ORM을 사용할 경우 @ToString 어노테이션으로 인해 문제가 발생한다.
  • 따라서 @Data 어노테이션은 지양하는 것이 좋다.


@Getter / @Setter

  • 모든 필드에 대한 getter, final로 선언되지 않은 모든 필드에 대한 setter 메소드를 생성


@ToString

  • 모든 필드에 대해 문자열로 바꾸어 출력하는 toString() 메소드를 생성


@EqualsAndHashCode

  • 모든 필드에 대해 문자열로 바꾸어 출력하는 toString() 메소드를 생성


@RequiredArgsConstructor


@Builder



Ref

Lombok 어노테이션

Lombok 어노테이션2

자주 쓰는 Lombok 어노테이션

Lombok Reference




© 2020.07. by Sanggoe

Powered by Sanggoe