키보드워리어

[spring framework] 롬복 어노테이션 기능 구현 본문

Spring framework

[spring framework] 롬복 어노테이션 기능 구현

꽉 쥔 주먹속에 안경닦이 2023. 5. 5. 12:09
728x90

안녕하세요 【키보드 워리어】 블로그 방문자 여러분, 안경닦이입니다.

오늘은 롬복 기능에 대해 포스팅합니다.

 

롬복
롬복


롬복 기능 구현 (builde.gradle)

맨 처음엔 plugin으로 롬복을 다운받은 이후에 build.gradle 파일을 수정합니다.

dependencies {
implementation('org.projectlombok:lombok')
annotationProcessor ('org.projectlombok:lombok')
testAnnotationProcessor('org.projectlombok:lombok')
}

*gradle 버전이 올라오게 되면서 compile이 implementation으로 변경되었습니다.

test코드를 작성할때 만약 error: cannot find symbol gradle 이런 에러가 뜨면 annotationProcessor를 추가해 주세요.

 

 

롬복 기능 이점

롬복은 자바 언어의 개발 생산성을 높이기 위해 만들어진 라이브러리입니다. 

 

롬복을 사용하면 코드가 깔끔해져서 가독성을 높이며, 개발 생산성을 향상할 수 있습니다. 사용해 보시길 적극 추천드립니다.

 

 

몇 가지 어노테이션

@RequiredArgsConstructor

 

@RequiredArgsConstructor는 생성자를 자동으로 생성해 주는 롬복 어노테이션입니다. 이 어노테이션을 사용하면 final로 선언된 필드를 인자로 받는 생성자를 자동으로 생성해 줍니다. 생성자 코드를 일일이 작성하지 않아도 되므로, 개발 생산성을 향상할 수 있습니다.

 

import lombok.RequiredArgsConstructor;

@RequiredArgsConstructor
public class MyService {
    private final MyRepository myRepository;
    private final MyConfig myConfig;
    
    // ...
}

 

@Getter *Setter도 마찬가지입니다.

@Getter는 Getter 메서드를 자동으로 생성해주는 롬복 어노테이션입니다. 이를 사용하면 Getter 메소드를 일일이 작성하지 않아도 되며

로, 코드의 중복성을 줄일 수 있습니다.

또한, 롬복의 @Getter는 일반적인 Getter와 달리 Null 값을 처리하는 로직도 자동으로 생성해 주기 때문에, Null 처리 코드를 작성할 필요

가 없습니다. 이를 통해 코드의 가독성을 높일 수 있습니다.

 

@Getter
@RequiredArgsConstructor
public class HelloResponseDto {

    private final String name;
    private final int amount;

}

 

다음은 builder입니다.
 
builder
 
@Builder 어노테이션은 빌더 패턴을 구현한 메소드를 생성합니다. 빌더 패턴은 객체 생성에 필요한 인자들을 순서나 타입에 구애받지 않고 지정할 수 있게 해줍니다. 아래는 @Builder를 사용한 예시 코드입니다.
import lombok.Builder;

@Builder
public class User {
    private String username;
    private String password;
    private String email;
    private String phone;
}

// 객체 생성 예시
User user = User.builder()
    .username("홍길동")
    .password("password")
    .email("임시이메일@example.com")
    .phone("01012345678")
    .build();

인자값이 많을 때 빌더를 만드는 게 헷갈리지 않습니다.

 

 
728x90