lombok 설정 방법


  1. Lombok 플러그인을 설치, IntelliJ 재시작
  2. pom.xml 파일에 다음을 추가 (lombok maven)
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.4</version>
    <scope>provided</scope>
</dependency>
  1. pom.xml 파일 선택하고 우측 버튼 클릭. maven 메뉴의 reimport를 한다.
    lombok을 사용하는 프로젝트마다 한번씩은 설정해야 한다.
    설정 - Build, Execution, Deployment/컴파일러/어노테이션 프로세서

  2. lombok 이라는 도구는 컴파일전에 애노테이션을 읽어서 소스코드를 수정.

  3. lombok 애노테이션 Data, Getter, Setter, Builder , ……..

    • @Getter, @Setter - getter,setter 설정
    • @NoArgsConstructor - 파라미터가 없는 기본 생성자를 자동 생성
    • @RequiredArgsConstructor - notnull,final이 붙은 필드를 가진 생성자를 생성해준다
    • @AllArgsConstructor - 모든 필드값을 파라미터로 받는 생성자를 자동으로 생성
    • @EqualsAndHashCode - equals, hashCode 생성
    • @EqualsAndHashCode(callSuper=false) 을 하면 자신 클래스만 허용 부모클래스x )
    • @ToString - tostring 자동 생성
    • @Log - 해당 Class 명으로 로그 생성
    • @Data - ToString, EqualsAndHashCode, Getter, Setter, RequiredArgsConstructor 생성
    • @Value 불변객체가 만들어진다.
    • @Builder - 빌더패턴을 적용한 객체생성메소드/ 클래스를 만들어준다.
    • @Bulider.Default - 객체 생성시 filde 기본값 설정
    • @Singluar - @builder가 적용된 클래스의 필드가 Collection 타입일때, 해당 필드의 값을 추가하는 메서드를 생성
    • @NotNull - Class위에서는 사용이 불가능하며, Class 내에서 필요한 멤버에 직접 사용한다, runtime시 NullCheck 하여 NullPointException이 발생하게 한다.
    • @Delegate - 한 클래스에 다른 클래스의 메소드를 위임
    • @Cleanup - 현재 변수의 scope가 종료되기 전에 리소스가 clean up 되도록 보장해준다, scope가 종료될때 close()가 호출된다
    • val - 지역변수, foreach 구문에서 사용가능, 객체의 타입을 추론한 불변값을 선언