개발/Spring
[Spring] - 의존관계 주입
dongdev
2022. 1. 10. 15:30
의존관계 주입은 크게 4가지 방법이 있다.
1. 생성자 주입
2. 수정자 주입(setter)
3. 필드 주입
4. 일반 메서드 주입
1. 생성자 주입(권장)
- 생성자 호출시점에 딱 1번만 호출되는 것을 보장
- 불변, 필수 의존관계에 사용
- 스프링에서 권장함
(lombok 사용)
2. 수정자 주입(setter)
- 선택, 변경 가능성이 있는 의존관계에 사용
3. 필드 주입
- 외부에서 변경이 불가능해 테스트 하기 힘듬
- DI 프레임워크가 필요함(@SpringBootTest 처럼 스프링 컨테이너를 테스트에 통합한 경우에만 가능)
4. 일반 메서드 주입
- 한번에 여러 필드를 주입 받을 수 있음