Lombok이란 어노테이션 기반으로 코드를 자동완성 해주는 라이브러리이다. Lombok을 이용하면 Getter, Setter, Equlas, ToString 등과 다양한 방면의 코드를 자동완성 시킬 수 있다.
package com.example.study.model;
import lombok.AllArgsConstructor;
import lombok.Data;
// getter, setter 를 annotation 으로 생성시켜주는 라이브러리 : lombok
@Data
@AllArgsConstructor
public class SearchParam {
private String account;
private String email;
private int page;
}
|
@Data 어노테이션을 활용하면 @ToString, @EqualsAndHashCode, @Getter, @Setter, @RequiredArgsConstructor를 자동완성 시켜준다.
@AllArgsConstructor는 모든 변수를 사용하는 생성자를 자동완성 시켜주는 어노테이션이다.
@NoArgsConstructor는 어떠한 변수도 사용하지 않는 기본 생성자를 자동완성 시켜주는 어노테이션이다.
@RequiredArgsConstructor는 특정 변수만을 활용하는 생성자를 자동완성 시켜주는 어노테이션이다. 생성자의 인자로 추가할 변수에 @NonNull 어노테이션을 붙여서 해당 변수를 생성자의 인자로 추가할 수 있다. 아니면 해당 변수를 final로 선언해도 의존성을 주입받을 수 있다.
@EqualsAndHashCode 어노테이션을 활용하면 클래스에 대한 equals 함수와 hashCode 함수를 자동으로 생성해준다.
https://mangkyu.tistory.com/78 에 어노테이션과 예제가 상세히 설명되어 있다.
Lombok 은 코틀린 data class 와 유사한 거 같다.
Android Studio 개발 툴과 IntelliJ IDEA 툴은 Jetbrains 에서 만든 툴이라 메뉴 사용법이 거의 동일하다.
IntelliJ IDEA 툴에서 아래 그림과 같이 확인해 보면 getter, setter, constructor 가 생성되어 있는 걸 확인할 수 있다.
@Getter @Setter 만 적용할 경우
'Spring' 카테고리의 다른 글
Spring Boot JPA(Java Persistence API ) - MariaDB (0) | 2021.10.23 |
---|---|
Spring Boot JPA(Java Persistence API ) - MySQL (0) | 2021.10.23 |
MariaDB 10.6 설치 (0) | 2021.10.21 |
IntelliJ IDEA 에서 Spring 프로젝트 생성 (0) | 2021.10.20 |
Spring Tool Suite 4 기본 환경 설정 (0) | 2020.11.09 |