Lombok
Java 라이브러리중 하나로 getter, setter, toString 등의 반복 메서드를 줄여주는 라이브러리
import lombok.*;
@Getter
@Setter
@ToString
@NoArgsConstructor
@AllArgsConstructor
public class TestLombok {
private String test_id;
private String test_name;
}
@Getter, @Setter 등 5개 대신에 @Data 하나로 통합 가능
import lombok.*;
@Data
public class TestLombok {
private String test_id;
private String test_name;
}
기본 public으로 들어가고 protected, private 설정을 따로 줄수 있음
import lombok.*;
@Data
public class TestLombok {
@Getter(AccessLevel.PRIVATE)
@Setter(AccessLevel.PROTECTED)
private String test_name;
}
1. @NonNull
≫ 메소드나 생성자의 매개변수에 @NonNull을 사용하면 lombok이 null check를 해준다.
import lombok.*;
@Data
public class TestLombok {
@NonNull
private String test_id;
private String test_name;
}
2. @ToString
≫ toString() 메소드를 생성
3. @Builder
≫ Builder 패턴을 자동으로 생성
4. @AllArgsConstructor
≫ 클래스에 존재하는 모든 필드에 대한 생성자를 자동으로 생성
@AllArgsConstructor
public class Test {
private String name;
private int age;
}
5. @NoArgsConstructor
≫ 파라미터가 없는 생성자를 생성
≫ 필드들이 final로 생성되어 있는 경우에는 필드를 초기화 할 수 없기 때문에 생성자를 만들 수 없고 에러가 발생
( @NoArgsConstructor(force = true) 옵션을 이용해서 final 필드를 0, false, null 등으로 초기화를 강제로 시켜서 생성 )
≫ @NonNull 같은 제약조건이 걸려있는 경우 생성자내 null-check 로직이 생성되지 않음
@NoArgsConstructor
public class Test {
private String name;
@NonNull
private int age;
}
6. @RequiredArgsConstructor
≫ 초기화 되자않은 필드에 대해 생성자를 생성
≫ 주로 @AutoWired 없이 의존성 주입 편의성을 위해서 사용
@Service
@RequiredArgsConstructor
public class TestServiceExample {
private final TestRepository testRepository;
...
}
'Spring' 카테고리의 다른 글
[Spring] Oauth 연동 - 폼 로그인 기능 구현하기 (6) | 2025.01.17 |
---|---|
[Spring] Oauth 연동 - Security6.x 정리 (2) | 2025.01.15 |
[Spring] AOP 정리 (0) | 2023.07.24 |
[Spring] 자주 보는 어노테이션 정리 (3) | 2022.03.04 |
[Spring] 자주 쓰는 용어 정리 (3) | 2022.02.04 |