본문 바로가기
Spring/Spring-detail

Lombok 알고 사용하자!

by YoonJong 2022. 9. 15.
728x90

Lombok 

 - 반복되는 메서드를 어노테이션을 사용하여 자동으로 작성해주는 라이브러리

 - 일반적으로 VO, DTO, Model, Entity 등의 데이터 클래스에서 자주 사용한다

 

대표적으로 사용하는 어노테이션은 아래와 같다.

종류 의도
@Getter   get 메서드를 자동으로 생성
@Setter   set 메서드를 자동으로 생성
@NoArgConstructor 파라미터가 없는 생성자를 생성
@AllArgConstructor 모든 필드값을 파라미터로 갖는 생성자를 생성
@RequiredArgsConstructor 필드값 중 final 인 값을 갖는 생성자를 생성
@ToString toString 메서드를 자동으로 생성
@EqualsAndHashCode equals , hashCode 메서드를 자동으로 생성
- equals : 두 객체의 내용이 같은지 동등성을 비교
- hashCode : 두 객체가 같은 객체인지 동일성을 비교
@Data 위의 모든 기능을 한번에 추가 - 불필요한 어노테이션까지 적용할 수 있다.

 

 

롬복 의존성 설정

compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'

플러그인 다운로드 및 설정

 

 

롬복을 사용하면 아래와 같은 코드를 가독성 있게 줄일 수 있다.

package studio.thinkground.testproject.dto;

import lombok.Data;

public class MemberDto {

    private String name;
    private String email;
    private String organization;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getOrganization() {
        return organization;
    }

    public void setOrganization(String organization) {
        this.organization = organization;
    }

    @Override
    public String toString() {
        return "MemberDto{" +
                "name='" + name + '\'' +
                ", email='" + email + '\'' +
                ", organization='" + organization + '\'' +
                '}';
    }
}

 

롬복 사용

@Getter
@Setter
@ToString
public class MemberDto {

    private String name;
    private String email;
    private String organization;
    
}

 

DeLombok 기능 확인해보기

 - Lombok 기능을 풀은 코드로 변경할 수 있다.

728x90

댓글