스프링
[Spring] 의존관계 주입 방법
덕배Dev
2024. 4. 18. 18:45
다양한 의존관계 주입 방법
1. 생성자 주입
- 생성자를 통해서 의존 관계를 주입 받는 방법이다.
- 특징 : 생성자 호출 시점에 딱 1번 호출됨. -> 불변, 필수 의존관계에 사용한다.
- 생성자가 딱 한개 있을 때는 @Autowired를 설정하지 않아도 자동으로 등록해준다.
2. 세터(Setter) 주입
- setter라고 불리는 필드 값을 변경하는 수정자 메서드를 통해서 의존관계를 주입하는 방법이다.
- 특징 : 선택, 변경 가능성이 있는 의존관계에 사용한다.
3. 필드 주입
- 필드에서 바로 의존관계를 주입하는 방법이다
- 특징 : 외부에서 변경이 불가능하여 코드가 간결해지지만 테스트가 힘들고 DI 프레임워크가 없으면 아무것도 없기 때문에 사용하지 말자!!
- 애플리케이션의 실제 코드와 관계없는 테스트코드, 스프링 설정을 목적으로 하는 @Configuration 같은 곳에서만 특별한 용도로 사용이 가능하다.
4. 일반 메서드 주입
- 일반 메서드를 통해 의존관계를 주입하는 방법이다.
- 특징 : 한번에 여러 필드를 주입 받을 수 있지만, 잘 사용하지 않는다.