inblog logo
|
soultree
    Spring

    [Spring] Lombok에 대해 알아보자

    Spring 애플리케이션을 개발할 때 빠질 수 없는 lombok에 대해 알아보자!
    Hi's avatar
    Hi
    Jun 03, 2024
    [Spring] Lombok에 대해 알아보자
    Contents
    ✅ Lombok이란?✅ Lombok에서 제공하는 어노테이션

    ✅ Lombok이란?

    📋
    어노테이션을 통해 기본적인 동작을 하는 코드를 자동완성해주는 기능을 제공해주는 라이브러리이다.
     
    예를 들면,
    notion image
    클래스에 @Data 어노테이션을 달면, getter, setter, toString, … 등의 메소드가 내재적으로 제공된다. 이 외에도 @AllArgsContructor 를 통해 모든 멤버변수를 포함한 생성자를 제공받을 수 있으며, @NoArgsConstructor 를 통해 기본 생성자를 제공받을 수 있다.
     
    위 그림에서 구조를 살펴보면, @Data 어노테이션으로 인해 category 멤버변수를 가져오는 getCategory()라는 camel case의 getter 메소드를 제공받고 있는 모습을 확인할 수 있다.
     
    Lombok을 사용하면, 반복되는 코드 작성을 줄이고 코드를 깔끔하게 작성할 수 있는 장점이 있다!
     
    이 외에도 다양한 어노테이션이 존재한다.
     

    ✅ Lombok에서 제공하는 어노테이션

    주석
    목적
    @Getter
    모든 필드에 대한 getter 메소드를 생성
    @Setter
    모든 필드에 대한 setter 메소드를 생성
    @ToString
    'toString' 메서드를 생성
    @EqualsAndHashCode
    equals 및 hashCode 메소드를 생성
    @NoArgsConstructor
    인수가 없는 생성자를 생성
    @RequiredArgsConstructor
    필수 인수(최종 필드 또는 제약 조건이 있는 필드)가 있는 생성자를 생성
    @AllArgsConstructor
    각 필드에 대해 하나의 인수를 사용하여 생성자를 생성
    @Data
    @Getter, @Setter, @ToString, @EqualsAndHashCode 및 @RequiredArgsConstructor의 약어
    @Value
    getter, 생성자, 적절한 equals 및 hashCode 메서드를 사용하여 변경할 수 없는 클래스를 생성
    @Builder
    객체 생성을 위한 빌더 패턴을 구현
    @SneakyThrows
    메서드 시그니처에서 선언하지 않고 확인된 예외가 발생하도록 허용
    @NonNull
    메서드 실행 전에 필드가 null이 아닌지 확인하고 null인 경우 NullPointerException을 발생
    @Cleanup
    지정된 리소스가 자동으로 정리(닫힘)되는지 확인
    @Synchronized
    synchronized 키워드와 유사하지만 특정 함정을 방지하는 동기화된 블록을 제공
    @With
    수정된 값으로 새 인스턴스를 생성하는 "with" 메서드를 생성
    @Log
    로거 필드를 생성(다음의 적절한 로거 사용: @CommonsLog, @Log4j, @Log4j2, @Slf4j, @XSlf4j, @JBossLog, @Flogger)
    @Delegate
    다른 필드에 메서드를 위임
    @Accessors
    필드에 대해 생성된 getter 및 setter를 구성
    @FieldDefaults
    기본 액세스 수준을 수정하여 기본적으로 필드를 'private' 및 'final'로 변경
    Share article
    Contents
    ✅ Lombok이란?✅ Lombok에서 제공하는 어노테이션

    soultree

    RSS·Powered by Inblog