Lombok (롬복)
- Java 환경에서 어플리케이션 개발 시 보일러플레이트 코드를 제거하기 위해 사용
- Lombok 어노테이션 사용 시, 컴파일될 때 해당 어노테이션의 기능들이 자동으로 생성됨
예시
- getter, setter, constructor 자동 생성됨
@Getter
@Setter
@NoArgsConstructor
public class User {
private String name;
private int age;
}
@NoArgsConstructor
- User 클래스에 대한 디폴트 생성자 자동 생성
@NoArgsConstructor
public class User {
private String name;
private int age;
/*
public User() {}
*/
}
@AllArgsConstructor
- User 클래스가 가진 모든 속성들 포함하는 생성자 자동 생성
@AllArgsConstructor
public class User {
private String name;
private int age;
/*
public User(String name, int age) {
this.name = name;
this.age = age;
}
*/
}
@RequiredArgsConstructor
- @NotNull 어노테이션이나 final 키워드 사용하는 속성들로만 이루어진 생성자 자동 생성
@RequiredArgsConstructor
public class User {
private final String name;
private int age;
/*
public User(String name) {
this.name = name;
}
*/
}
에러 메시지
Lombok: variable not initialized in the default constructor
= Lombok으로 생성자를 만들었으나 정상 작동하지 않는다는 의미
해결 방법
Gradle 버전 및 Lombok 의존성 추가 방법 확인
Gradle을 통해 Lombok 의존성 라이브러리를 추가했으나 동작하지 않는다면, 현 Gradle 버전이 5.x 이상인지 확인해야 함
➡ Gradle 5.x 이상부터 Lombok 의존성 추가 방법 변경됨
- Gradle 5.x 미만
dependencies {
implementation 'org.projectlombok:lombok'
}
- Gradle 5.x 이상
dependencies {
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
}
출처 : https://deeplify.dev/back-end/spring/lombok-required-args-constructor-initialize-error
댓글