Lombok 활용하기
Gradle 설정
build.gradle에 다음 롬복설정을 추가해준다.
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
repositories {
mavenCentral()
}
dependencies {
compileOnly 'org.projectlombok:lombok:1.18.20'
annotationProcessor 'org.projectlombok:lombok:1.18.20'
testCompileOnly 'org.projectlombok:lombok:1.18.20'
testAnnotationProcessor 'org.projectlombok:lombok:1.18.20'
}추가후에 반드시 아래 설정을 해줘야한다.
Preferences -> Compiler -> Annotation Processors

Enable annotation processing을 반드시 설정해줘야한다.
@Getter / @Setter
접근자(getXxx())와 설정자(setXxx())를 자동으로 생성해준다.
다음과 같이 자동으로 getter와 setter가 생성된 것을 확인할 수 있다.

생성자 자동 생성
@NoArgsConstructor
파라미터가 없는 생성자를 자동으로 생성해준다.
@AllArgsConstructor
모든 필드 값을 파라미터로 받는 생성자를 생성해준다.

@RequiredArgsConstructor
@RequiredArgsConstructor 어노테이션은 final이나 @NonNull인 필드 값만 파라미터로 받는 생성자를 만들어준다.
이렇게 생성하면, 코드가 훨씬 깔끔해지고 간편한 것을 확인할 수 있다.
위와 같이 생성자를 직접 만들어줄 필요 없이 해당 어노테이션만 별도로 설정해주면 된다.
intelliJ에서 command + F12로 해당 클래스의 메서드와 변수를 확인할 수 있는데, 아래와 같이 생성자가 생성된 것을 확인할 수 있다.

@ToString
toString() 메소드도 lombok의 @ToString 어노테이션으로 간단하게 생성할 수 있다. 또한, exclude 옵션으로 특정 필드를 제외할 수 있다.
exclude 에 포함된 필드를 제외하고 전체 출력되는 것을 확인할 수 있다.
@Builder
@Builder 로 단순하게 빌더를 생성할 수 있다.
다음과 같이 Item.Builder를 단순히 @Builder 어노테이션 만으로 구현할 수 있다.
상속 받은 클래스 Builder 구현
상속받은 클래스에서는 다음과 같이 생성자에 Builder 어노테이션을 추가해 Builder를 구현할 수 있다.
다음과 같이 부모 클래스의 필드까지 모두 Builder 내부에 구현된 것을 확인할 수 있다.
@SuperBuilder
Lombok 1.18.2 이후부터는 @SuperBuilder 어노테이션으로 상속되는 클래스의 Builder를 생성할 수 있다.
ChildBuilder는 ParentBuilder를 상속받고 있는것을 볼 수 있다.
참고
Last updated
Was this helpful?