-
의존 관계 주입 방법기술/Java - 강의 정리 2022. 8. 5. 13:18
의존 관계 주입 방법
AutoWired
Component 를 사용할 때 의존성을 주입하기 위해 사용된다.
생성자가 하나일 때 생략 가능하다.
의존 관계 주입 방법
생성자 주입
- 생성자 호출 시점에 딱 한번만 호출되는 것이 보장된다.
- 불변, 필수 의존관계에서 사용된다.
수정자 주입
- 선택, 변경 의존관계에서 사용된다.
필드 주입
- 외부에서 변경이 불가능해서 테스트하기 힘들다.
- DI 프레임워크가 없으면 아무것도 할 수 없다.
일반 메서드 주입
- 잘 사용하지 않는다.
옵션 처리
- Autowired(required = false )
- @Nullable
- Optional<>
조회되는 빈이 2개 이상일 때
타입으로 등록되는데 하나의 타입에 두개 이상의 빈이 등록되었을 때 에러가 발생한다.
해결 방법
- Autowired 필드 명 매칭
- Autowired 는 타입 매칭을 시도하고 이 때 여러 빈이 있으면 필드 이름, 파라미터 이름이 매칭 되는 것을 찾는다.
- Quilifier
- 추가적인 구분자를 제공한다.
- Primary 와 같이 제공되었을 때 Quilifier 가 우선순위를 가져간다.
- Primary
- 우선순위를 제공한다.
조회한 빈이 모두 필요할 때
주입 시 아래와 같은 타입을 선택하면 자동으로 주입해준다.
- Map<String, Type>
- List<Type>
'기술 > Java - 강의 정리' 카테고리의 다른 글
빈 스코프 (0) 2022.08.05 빈 생명주기 콜백 (0) 2022.08.05 빈 생성 방법 (0) 2022.08.05