lombok 설정 방법
- Lombok 플러그인을 설치, IntelliJ 재시작
- pom.xml 파일에 다음을 추가 (lombok maven)
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.4</version>
<scope>provided</scope>
</dependency>
-
pom.xml 파일 선택하고 우측 버튼 클릭. maven 메뉴의 reimport를 한다.
lombok을 사용하는 프로젝트마다 한번씩은 설정해야 한다.
설정 - Build, Execution, Deployment/컴파일러/어노테이션 프로세서 -
lombok 이라는 도구는 컴파일전에 애노테이션을 읽어서 소스코드를 수정.
-
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 구문에서 사용가능, 객체의 타입을 추론한 불변값을 선언