Spring

[스프링] 롬복(Lombok)

문승주 2023. 7. 22. 00:59
반응형

본 내용은 인프런의 김영한 님의 강의 "스프링 핵심 원리 - 기본편" 내용을 바탕으로 정리한 내용입니다.

 

롬복(Lombok)

주로 플레인 자바(Plain Java) 클래스에서 반복적으로 작성해야 하는 Getter, Setter, Equals, HashCode, ToString 등의 메서드를 어노테이션을 통해 자동으로 생성해주는 기능을 제공한다. 이를 통해 코드의 가독성을 향상시키고, 코드 양을 줄이는 효과를 얻을 수 있다.

 

ex) build.gradle에 롬복 설정 추가

//lombok 설정 추가 시작
configurations {
 compileOnly {
 extendsFrom annotationProcessor
 }
}
//lombok 설정 추가

dependencies {
 implementation 'org.springframework.boot:spring-boot-starter'
 //lombok 라이브러리 추가 시작
 compileOnly 'org.projectlombok:lombok'
 annotationProcessor 'org.projectlombok:lombok'
 testCompileOnly 'org.projectlombok:lombok'
 testAnnotationProcessor 'org.projectlombok:lombok'
 //lombok 라이브러리 추가 끝
 testImplementation('org.springframework.boot:spring-boot-starter-test') {
 exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
 }
}

 

1. @Getter/@Setter

필드에 대한 Getter와 Setter 메서드를 자동으로 생성한다.

 

2. @ToString

toString() 메서드를 자동으로 생성하여 객체의 내용을 문자열로 표현한다.

 

3, @EqualsAndHashCode

equals()와 hashCode() 메서드를 자동으로 생성한다.

 

4. @NoArgsConstructor

파라미터 없는 기본 생성자를 자동으로 생성한다.

 

5. @AllArgsConstructor

모든 필드를 파라미터로 갖는 생성자를 자동으로 생성한다. @Data: @Getter, @Setter, @EqualsAndHashCode, @ToString, @RequiredArgsConstructor를 한번에 사용한다.

 

6. @RequiredArgsConstructor

final이 붙은 필드를 모아서 생성자를 자동으로 생성한다.

 

7. @Builder

빌더 패턴을 자동으로 생성하여 객체를 생성할 때 더 간편한 방법을 제공한다.

 

8. @Value

불변(Immutable) 클래스를 생성할 때 사용하며, @Getter와 @ToString을 포함한다.


9. @NonNull

필드에 null이 아닌 값을 요구하는 어노테이션을 제공한다.


10. @Slf4j

Lombok이 제공하는 Logger 객체를 손쉽게 생성하여 사용할 수 있다.

반응형