Lombok 사용법

@Data

  • 모든 필드에 대한 getter, setter와 toString, equals, hashCode, final로 지정됐거나 @NonNull로 명시된 필드에 대한 값을 받는 생성자 메소드 코드를 생성

@Getter / @Setter

  • Getter와 Setter 함수를 생성
    • 관례에 따른 get필드명, set필드명의 메소드가 생성
  • 접근제어 : AccessLevel 지정을 통해서 접근레벨을 제한할 수 있음.
    • PUBLIC, PROTECTED, PACKAGE, PRIVATE
    • @Getter(AccessLevel.PACKAGE)
    • @Setter(AccessLevel.PRIVATE)

@EqualsAndHashCode

  • 코드에서 객체의 비교 등의 용도로 사용되는 equals(), hashCode() 메소드의 코드를 생성
  • 특정 필드를 제외할 수 있음
    • @EqualsAndHashCode(exclude={“FIELD_NAME_1”, “FIELD_NAME_2”})

@ToString

  • 객체의 내용을 문자열로 변환해주는 toString() 메소드를 생성
  • 특정 변수를 제외할 수 있음
    • @ToString(exclude={“FIELD_NAME_1”})

@Log

  • 자동으로 logging을 위한 필드인 ‘private static final Logger log’가 추가
  • Log4j를 사용하여 출력

@Slf4j

  • 자동으로 logging을 위한 필드인 ‘private static final Logger log’가 추가
  • Slf4j를 사용하여 출력

@AllArgsConstructor

  • 모든 필드에 대한 값을 받는 생성자를 생성
  • 접근제어 : AccessLevel 지정을 통해서 접근레벨을 제한할 수 있음.