Lombok(롬복) 의 Annotation 들은 모두 class 에 설정하고,
@Builder 의 경우 파라미터가 있는 생성자 메소드에도 설정 가능.
@Getter
@Setter
@ToString
@EqualsAndHashCode
- (of="...")
해당 Entity 하나를 기준으로 HashCode 메서드 추가
- (of={"...","...",...})
해당 Entity 여럿을 기준으로 HashCode 메서드 추가
@NoArgsConstructor
- 파라미터(인자) 없는 생성자 메서드 추가, 기본 생성자
@RequiredArgsConstructor
- @NonNull 또는 final 등을 설정한 Entity 정의된 순서 대로 파라미터로 구성된 생성자 메서드 추가
@AllArgsConstructor
- Entity 정의된 순서 대로 모두가 파라미터로 구성된 생성자 메서드 추가
@Data
- @Getter, @Setter, @ToString, @EqualsAndHashCode, @RequiredArgsConstructor 등을 모두 @Data 하나로 대체
@Builder
- class 에 @Builder 설정시, @AllArgsConstructor 를 적용하면서, static Builder 패턴인 ABuilder 클래스 자동 생성.
- 생성자 method 에 @Builder 설정시, 특정 생성자의 파라미터를 Entity 로 갖는 static Builder 패턴인 ABuilder 클래스 자동 생성. A 클래스의 엔터티들 중 몇 개만 사용하는 경우 적용.
@Slf4j (Simple Logging Facade for Java)
- private static final Logger log = LoggerFactory.getLogger(클래스.class); 자동생성.
* Lombok 설치
다운로드 해서 실행하면 자동 설치되기도 하는데,
build.gradle 파일의 dependencies 에 아래와 같이 롬복을 기술하고 빌드하면,
gradle 이 빌드하는 과정 중에 롬복 라이브러리를 (필요시) 다운로드 하고 작동.
dependencies {
...
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
...
}
'Server Oriented > Spring' 카테고리의 다른 글
스프링 Controller Step 3, response 할당(View, RESTful) (1) | 2022.09.30 |
---|---|
스프링 Controller Step 1, request 할당 (Annotation Mapping) (0) | 2022.09.28 |
스프링 Annotation 속성 설정 (0) | 2022.09.27 |
스프링 예외처리 (0) | 2022.09.08 |
No tag [error] defined in tag library imported with prefix [form] (0) | 2022.09.05 |