- 개인 공부 목적으로 작성한 글입니다.
- 아래 출처를 참고하여 작성하였습니다.
목차
- INTRO
- 생성자 주입 방식의 장점
2-1. 의존 관계 주입 문제를 컴파일 타임에 인지 가능
2-2. 테스트 코드 작성 용이
2-3. 의존성 주입이 필요한 필드를 final로 선언 가능
1. INTRO
- 스프링에서는 Setter 주입, 필드 주입, 생성자 주입 이렇게 세 가지 방식으로 DI를 할 수 있습니다.
- 그 중에서도 생성자 주입을 사용할 때의 장점에 대해서만 알아보겠습니다.
- 더 자세한 내용은 아래 출처를 참고하시면 됩니다.
2. 생성자 주입 방식의 장점
2-1. 의존 관계 주입 문제를 컴파일 타임에 인지 가능
- 특정 객체를 생성하는 시점에 의존관계 설정이 제대로 되지 않으면 객체 생성이 불가능합니다.
- 위 문제를 컴파일 타임에 인지할 수 있습니다. (왜냐하면 특정 객체를 사용하는 코드를 작성할 수 없기 때문)
- 그러므로 의존관계를 제대로 주입하지 않아 런타임에 발생하는 Null Pointer Exception을 방지할 수 있습니다.
2-2. 테스트 코드 작성 용이
- 주입받을 객체로 Mock 객체를 사용할 수 있습니다.
- 즉, '특정 기능, 역할'을 흉내내는 Mock 객체를 사용하여 빠르게 기능을 테스트할 수 있습니다.
2-3. 의존성 주입이 필요한 필드를 final로 선언 가능
- Setter 주입이나 필드 주입 방식과 다르게 객체 생성 시점에 의존성을 주입을 받는 것이므로 해당 필드를 final로 선언하고 사용할 수 있습니다.
- 즉, 의존을 주입받는 필드에 대해 Immutable을 보장받을 수 있습니다.
출처
'SpringBoot > ETC' 카테고리의 다른 글
SQL 보기 옵션 정리 (0) | 2021.10.14 |
---|---|
SpringBoot에 MYSQL 연동 (0) | 2021.10.14 |
@Builder 사용 시 주의 점 (0) | 2021.10.08 |