Lombok RequiredArgsConstructor
Lombok RequiredArgsConstructor
Lombok RequiredArgsConstructor
- 대부분의 경우 spring bean의 필드는 불변이고,
final
키워드로 선언됨 - 이 때 생성자를 통해 의존성을 주입받는 코드를 매 번 삽입하기에는 너무 길고, 변경이 비교적 힘듦
- 이 때
Lombok
의RequiredArgsConstructor
어노테이션을 활용 가능final
필드에 대한 생성자를 자동으로 생성해 줌
- 기존 코드
- 생성자가 필요.
@Autowired
는 생략 가능
- 생성자가 필요.
@Component
public class A implements I {
private final int field1;
private final int field2;
@Autowired
public A(int f1, int f2) {
this.field1 = f1;
this.field1 = f1;
}
}
- Lombok을 적용한 코드
- 만약 클래스의 구조 변경으로 새로운 필드
field3
이 추가되어도, 별도로 코드를 수정할 필요가 없음 - 코드가 훨씬 간결
- 만약 클래스의 구조 변경으로 새로운 필드
@Component
@RequiredArgsConstructor
public class A implements I {
private final int field1;
private final int field2;
}
References
- 스프링 핵심 원리 기본편 - 김영한 (https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8/dashboard)