CS/spring

@RequiredArgsConstructor

hanjongho 2021. 1. 29. 15:33

롬복 라이브러리가 제공하는 @RequiredArgsConstructor 기능을 사용하면 final이 붙은 필드들을 생성자로 자동으로 만들어준다. 

 

사용 전)

@Component
public class OrderServiceImpl implements OrderService {
    private final DiscountPolicy discountPolicy;
    
    public OrderServiceImpl(DiscountPolicy discountPolicy) {
        this.discountPolicy = discountPolicy;
    }
}

사용 후)

@Component
@RequiredArgsConstructor
public class OrderServiceImpl implements OrderService {
    private final DiscountPolicy discountPolicy;
}

 

코드가 정말 간결해졌다.

 

롬복 라이브러리 적용 방법

 

build.gradle 라이브러리 및 환경 추가를 해주면 된다.

configurations {
    compileOnly {
        extendsFrom annotationProcessor
    }
}

dependencies {
    compileOnly 'org.projectlombok:lombok'
    annotationProcessor 'org.projectlombok:lombok'
    
    testCompileOnly 'org.projectlombok:lombok'
    testAnnotationProcessor 'org.projectlombok:lombok'
}

물론 그 외의 것들은 그대로 두고 위의 코드들을 추가로 작성해주면 된다. IntelliJ의 경우 build.gradle을 수정하고나면 우측에 Gradle -> Reload All Gradle Projects를 해주어야 한다.

 

 

※ 스프링 핵심 원리 - 기본편(김영한)을 수강하고 정리한 글입니다. inf.run/2oxX

 

스프링 핵심 원리 - 기본편 - 인프런

스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다. 초급 프레임워크 및 라이브러리 웹 개발 서버 개발 Back-End Spring 객체지향 온

www.inflearn.com