-
Springboot + Gradle + Intellij 환경에서 Lombok 적용하기우아한 테크코스/이것저것 2020. 7. 29. 22:07반응형
의존성 추가 - build.gradle
dependencies { implementation 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' }
Intellij 설정 변경
[Preference] > [Build, Execution, Deployment] > [Compiler] > [Annotation Processors]
[V] Enable annotation processing
Plugin 추가
추가하지 않을 경우 애너테이션을 붙이는 데는 문제가 없지만 사용(getMethod())시 찾을 수 없다고 뜸
[Command (윈도우의 경우 Ctrl)] + [Shift] + [A] => Plugins 입력
Plugins에서 Lombok Install
restart
설정 및 사용
자주 쓰는 롬복 애너테이션
@Getter
필드에 붙이면 필드 접근자(getter)를 세팅, 클래스에 붙이면 전체 필드에 접근자(getter)를 세팅
@Setter
필드에 붙이면 필드 제어자(setter)를 세팅, 클래스에 붙이면 전체 필드에 제어자(setter)를 세팅
@ToString
전체 필드에 대한 toString 세팅
제외할 필드가 있는 경우 @ToString(exclude = "password")와 같이 exclude 값으로 설정
@NoArgsConstructor
파라미터가 없는 기본 생성자 세팅
접근 제어자는 @NoArgsConstructor(access = AccessLevel.PROTECTED)와 같이 access 값으로 설정
@AllArgsConstructor
모든 필드 값을 파라미터로 받는 생성자 세팅
@RequiredArgsConstructor
final이나 @NonNull인 필드 값만 파라미터로 받는 생성자 세팅
@EqualsAndHashCode
필드값 기준으로 equals와 hashcode 재정의
상속한 부모 클래스까지 동일한지 확인할 거면 @EqualsAndHashCode(callSuper = true)와 같이 callSuper true로 설정(기본-false)
특정 필드들을 제외하려면 @EqualsAndHashCode(exclude = {"email"})와 같이 exclude 배열에 제외할 필드들을 추가
@Data
위의 @Getter, @Setter, @EqualsAndHashCode, @RequiredArgsConstructor, @ToString, @EqualsAndHashCode를 모두 모아놓은 애너테이션
RequiredArgsConstructor
반응형'우아한 테크코스 > 이것저것' 카테고리의 다른 글
Google App 등록하여 OAuth 2.0 클라이언트 ID 받기 (0) 2020.07.30 도메인 구입하기 (with 가비아) (0) 2020.07.30 Self-Signed SSL 인증서 생성하기 & Springboot 적용하기 (0) 2020.07.29 Springboot Logging 적용 - logback (0) 2020.07.29 Springboot + H2 Console 사용 설정 (0) 2020.07.28