본문 바로가기
IT/Java

Lombok을 활용한 간편한 모델 선언

by Cyber_ 2024. 11. 21.

1. Lombok이란?

Java 라이브러리로 반복되는 getter와 setter, toString 등의 메서드 작성 코드를 줄여주는 코드 다이어트 라이브러리입니다.

2. Lombok 주의사항

API 설명과 내부 동작을 어느정도 숙지해야합니다. 예를 들어 Lombok의 @Data 나 @ToString 으로 자동 생성되는 toString() 은 순환 참조 또는 무한 재귀 호출 문제로 인해 StackOverflowError가 발생할 수 있습니다.

3. Lombok과 일반 Java 코드의 차이

public class Model {
    private String id;
    private String name;
    private Long seq;

    public Model() {}

    public Model(String id, String, name, Long seq){
        super();
        this.id = id;
        this.seq = seq;
    }

    public String getId() {
        return id;
    }

    public void setId(String id){
        this.id = id;
    }
    
    public String getName() {
        return id;
    }

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

    public Long getSeq() {
        return seq;
    }

    public void setSeq(Long seq) {
        this.seq;
    }

    @Override
    public String toString() {
        return "CategoryModel [id = " + id + ", name = " + name + ", seq=" + seq + "]";
    }

이제 Lombok을 사용해 봅시다.

@Getter
@Setter
@ToString
@NoArgsConstructor
@AllArgsConstructor
public class Model{
    private String id;
    private String name;
    private Long seq;
}

만약 위의 5가지 어노테이션을 붙이는 것도 싫다면

@Data
public class CategoryModel{
    private String id;
    private String name;
    private Long seq;
}

설치방법: 레퍼런스 게시글 참조

마무리

어노테이션 사용 시 어떻게 작동하는지 확인이 필요합니다. 간편하다고 무조건 쓰지말고 학습할 필요성이 있습니다.

Reference

https://dololak.tistory.com/783