본문 바로가기

백엔드/자바

롬복

반응형

객체지향 프로그램에서 데이터를 전달하기 위해 엔티티가 사용됩니다. 엔티티는 고유의 특성을 규정하는 필드를 가지는데 외부에서 자유로이 필드값을 변경하는 것을 방지하기 위해 겟터, 셋터를 사용합니다. 문제는 이러한 겟터와 셋터는 비즈니즈 로직을 담고 있다기보다 비즈니스 로직 실현을 위한 공통코드로 생산성을 감소시킨다는 것입니다. 롬복은 이러한 공통코드를 어노테이션을 통해 자동 생성 해 주는 디펜던시로 오늘은 롬복을 사용하는 법을 보겠습니다.

목차

구현하기

아래 엔티티를 롬복을 통해 변경해 보겠습니다.

public class Employee {
    private String firstName;
    private String lastName;
    private String address;

    public Employee() {
    }

    public String getFirstName() {
        return firstName;
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }
}

디펜던시 추가

프로젝트 생성 시 아래와 같이 추가하거나

pom.xml 파일을 열고 디펜던시 칸에 아래 코드를 추가합니다.

<dependency>
  <groupId>org.projectlombok</groupId>
  <artifactId>lombok</artifactId>
  <optional>true</optional>
</dependency>

설치가 완료되면 아래 어노테이션을 엔티티 상단에 추가하면 됩니다.

@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor

실제 생성되는지 여부는 매개변수 없는 생성기를 그대로 둔 상태에서 @NoArgsConstructor 어노테이션을 추가하면 아래와 오류 메시지를 통해 가능합니다.

완성코드

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class Employee {
    private String firstName;
    private String lastName;
    private String address;
}

이상으로 롬복에 대해서 알아보았습니다.

 

728x90
반응형

'백엔드 > 자바' 카테고리의 다른 글

스위치  (0) 2023.12.26
스프링 부트 폼  (1) 2023.10.22
스프링 부트 시큐리티  (0) 2023.10.01
스프링 부트 엑츄에이터  (0) 2023.10.01
데이터베이스 조작 도구 (JPA, 하이버네이, 마이바티스)  (0) 2023.09.04