본문 바로가기

Spring/Spring

[Spring] 롬복 알아보기 (@RequiredArgsConstructor)

반응형

lombok

- Getter, Setter, 생성자를 자동으로 만들어주는 라이브러리

개발 시 효율성을 높여주는 라이브러리로 상당히 많이 쓰인다.

 

@RequiredArgsConstructor

@Component
public class OrderServiceImpl implements OrderService{

    private final MemberRepository memberRepository;
    private final DiscountPolicy discountPolicy;


    @Autowired
    public OrderServiceImpl(MemberRepository memberRepository, DiscountPolicy discountPolicy) {
        this.memberRepository = memberRepository;
        this.discountPolicy = discountPolicy;
    }

 

기존 위의 코드에서 롬복의 RequiredArgsConstructor 에너테이션을 적용한다면?

 

@Component
@RequiredArgsConstructor
public class OrderServiceImpl implements OrderService{

    private final MemberRepository memberRepository;
    private final DiscountPolicy discountPolicy;

 

이렇게 생성자를 없애도 오류없이 코드를 사용할 수 있습니다.

(생성자는 육안으로 안 보이는 것이지 Required 애너테이션이 대신 역할을 하고 있다 라고 생각하는 게 편합니다.)

final이 붙은 변수에 대해서 생성자를 만들어주기 때문에 알아두면 유용할 것이다.

롬복이 자바의 애너테이션 프로세서 기능을 이용해서 컴파일 시점에 생성자 코드를 자동으로 생성해줍니다.

 

 

반응형

'Spring > Spring' 카테고리의 다른 글

[Spring] 빈 스코프  (0) 2024.09.08
[Spring] @PostConstruct, @PreDestroy  (1) 2024.09.07
[Spring] 의존관계 주입 방법  (0) 2024.09.03
[Spring] 컴포넌트 스캔  (0) 2024.09.02
[Spring] 싱글톤 패턴과 싱글톤 컨테이너  (0) 2024.08.30