@Data
아래 5가지 롬복 어노테이션을 축약한 어노테이션
@ToString, @EqualsAndHashCode, @Getter(모든 필드) / @Setter (final 아닌 모든 필드), @RequiredArgsConstructor
@ToString
toStrig() 메서드를 자동으로 생성해줌. 클래스이름과 필드를 콤마로 구분해서 문자열로 만들어준다
# 지원하는 configuration
- includeFieldNames = [true | false] (default: true)
fieldName = fieldValue
- doNotUseGetters= [true | false] (default: false)
true : getter를 이용하지 않고 field에 직접 접근해서 toString() 생성
- callSuper = [call | skip | warn] (default: skip)
call : super 클래스의 toString() 호출
skip : super클래스의 toString() 호출 X
warn : super 클래스의 toString() 호출 X, 경고
- flagUsage = [warning | error] (default: not set)
warning : @ToString 사용 시 경고
error : @ToString 사용 시 에러
@EqualsAndHashCode
equals(Object other), hashCode() 메서드 구현
# 지원하는 configuration
- doNotUseGetters= [true | false] (default: false)
true : getter를 이용하지 않고 field에 직접 접근해서 equals, hashCode 메서드 생성
- callSuper = [call | skip | warn] (default: skip)
call : super 클래스의 equals, hashCode 호출
skip : super클래스의 equals, hashCode 호출 X
warn : super 클래스의 equals, hashCode 호출 X, 경고
- flagUsage = [warning | error] (default: not set)
warning : @EqualsAndHashCode 사용 시 경고
error : @EqualsAndHashCode 사용 시 에러
@Getter
getter를 자동으로 만들어 준다
@Setter
setter를 자동으로 만들어 준다
@RequiredArgsConstructor
초기화 되지 않은 final 필드나 @NonNull 어노테이션이 붙은 필드에 대해 생성자를 만들어 준다
@NonNull 필드의 경우 명시적인 널 체크가 생성, null이 들어올 경우 NullPointerException 발생
파라미터의 순서는 클래스에 있는 필드 순서에 맞춰서 생성
[참고 - Lombok features]
https://projectlombok.org/features/all
Stable
projectlombok.org
[참고 - Lombok javadoc]
https://projectlombok.org/api/
Overview (Lombok)
Welcome to the lombok javadoc. If you're just looking to learn more about using lombok You probably want to look at the feature documentation. Otherwise, check the lombok package. If you're trying to extend lombok or write your own plugins, the other pa
projectlombok.org
'개발 > Java' 카테고리의 다른 글
| [JUnit] #01. JUnit 5 개요 / Java 버전 / 예시 프로젝트 (0) | 2022.01.24 |
|---|---|
| [Lombok] @Builder / @Builder.Default / @Singular (0) | 2022.01.21 |
| [Java] LocalDate, ChronoUnit으로 날짜 간격 구하기(31일 간격으로 나누기) (0) | 2022.01.17 |
| [Java] 체크예외, 언체크예외 초간단 정리 (0) | 2022.01.11 |
| [Java] equals 메서드 (0) | 2021.06.15 |
댓글