Spring boot

[Spring boot] Lombok(롬복)

Anna-Jin 2022. 1. 26. 11:50
728x90
반응형

Lombok(롬복)이란?

스프링 부트에서 Model 객체(DTO, VO, Domain)를 만들 때, 다 비슷하게 생긴 Getter와 Setter를 굳이 만들어줘야하는 번거로움이 있었다. 물론 빠르게 만드는 키가 있기는 하지만 필드명을 변경하거나 추가할 때 실수로 getter/setter를 변경하지 않아서 오류가 나는 경우에 번거롭다.

Lombok은 이렇게 불필요하게 반복되는 코드들을 어노테이션을 통해 getter/setter, ToString 등을 자동으로 처리해주는 편리한 라이브러리이다. 

 

어노테이션 종류

Lombok공식 문서

아래에 쓰인 어노테이션들 이외에도 공식문서에 더 많은 어노테이션들이 있다.

 

어노테이션 설명
@Getter, @Setter getter(), setter() 메소드 생성
@EqualsAndHashCode equals(), hashCode() 메소드 생성
@RequiredArgsConstructor final이나 @NonNull이 붙은 필드값만 인자로 받는 생성자 생성
@ToString toString() 메소드 생성
@Data 위의 5가지 어노테이션 설정 모두 포함
@var final 키워드 대신 사용하는 변수 선언 class
@NonNull 해당 값이 Null일 경우 NullPointerException을 발생
@NoArgsConstructor 인자 없는 생성자 생성
@AllArgsConstructor 모든 인자를 가진 생성자 생성
@Builder Builder API처럼 사용할 수 있도록 지원

 

 

  • @Data
적용 전
public class UserDto {

    private int index;
    private String name;
    private LocalDate birthDay;

    public int getIndex() {
        return index;
    }

    public void setIndex(int index) {
        this.index = index;
    }

    public String getName() {
        return name;
    }

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

    public LocalDate getBirthDay() {
        return birthDay;
    }

    public void setBirthDay(LocalDate birthDay) {
        this.birthDay = birthDay;
    }
}
적용 후
@Data
public class UserDto {

    private int index;
    private String name;
    private LocalDate birthDay;

}

 

 

위에 작성한 어노테이션 이외의 것들은 공부하면서 새롭게 알게되면 더 추가해야겠다!


 

참고

https://goddaehee.tistory.com/95

 

[Java] 소스 다이어트! Lombok 어노테이션

[Java] 소스 다이어트! Lombok 어노테이션 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ Lombok ] 입니다. :) ▶ Lombok 이란? 롬복(Lombok)은 자바에서 Model(DTO, VO, Domain) Object 를 만들때, 멤버필드(프..

goddaehee.tistory.com

 

728x90
반응형