프로그래밍/스프링

[스프링] 5. Lombok

riroan 2022. 7. 22. 10:24

지난시간 데이터를 주고 받기 위해 DTO클래스를 생성했다.

자바는 코틀린과 달리 data키워드를 제공하지 않기 때문에 getter, setter, constructor, toString같은 메서드들을 직접 구현해야 했다.

IDE레벨에서 지원하긴 하지만 멤버변수가 늘어날 때마다 직접 추가하기 불편하다.

이럴때 롬복(Lombok)을 사용하면 편리하다.

 

DTO

// dto/StudentDTO.java

public class StudentDTO {
    int id;
    String name;

    public StudentDTO(int id, String name) {
        this.id = id;
        this.name = name;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

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

    @Override
    public String toString() {
        return "StudentDTO{" +
                "id=" + id +
                ", name='" + name + '\'' +
                '}';
    }
}

지난시간 이러한 DTO를 만들었다.

DTO뿐만 아니라 모든 데이터를 나타내는 객체에 롬복을 사용할 수 있다.(DAO, DO, ...)

이를 롬복을 이용해서 리팩터링 해보자.

 

롬복 설치

build.gradle에서 dependencies에 다음 내용을 추가한다.

그 후 우측 상단에 코끼리 버튼을 누른다.

 

롬복은 어노테이션을 사용하기 때문에 어노테이션설정을 해줘야 한다.

설정에 들어가서 아래 설정을 완료한다.

 

리팩터링

그럼 이제 롬복을 사용할 수 있다.

// dto/StudentDTO.java

@AllArgsConstructor
@Getter
@Setter
@ToString
public class StudentDTO {
    int id;
    String name;
}

@AllArgsConstructor : 생성자 자동 생성

@Getter : Getter메소드 자동 생성

@Setter : Setter메소드 자동 생성

@ToString : ToString메소드 자동 생성

 

이제 코틀린의 data키워드같이 어노테이션만으로 데이터 객체를 짧고 편리하게 나타낼 수 있게 되었다.

앞으로 유용하게 사용하자.