반응형
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 |