오토와이어드를 썻을때에 동일한 데이터 타입의 빈 객체가 여러개 있다면
스프링 컨테이너에서는 누구를 주입해줘야 할지 했갈려한다
그렇기에 개발자가 선택을 해줘야한다.
(자동 주입 대상 객체를 판단하지 못할경우 Exception발생)
@Qualifier
Qualifier 태그를 사용할 경우에
(예선통과자 우선자)
동일한 객체가 있을때에 어떤것을 먼저 사용하겠다 라고 명시하고
속성값을 넣어준다
@Injection
인젝션은 오토와이어드와 거의 비슷하게 어노테이션을 이용해서 의존 객체를 자동을 주입을
할 수 있다. 그러나 차이점이 있다면 오토와이어드의 경우 required속성을 이용해서 의존 대상 객체가
없어도 익셉션을 피할 수 있지만, 인젝션의 격우 required속성을 지원하지 않는다.
(required란 required속성을 false로 준다면 객체가 있으면 사용하고 없으면 사용하지 마세요
라는 표현인데 이걸 사용하는 일은 거의 없다고한다, 자기가 만든 객체를 참조하는것인데
없으면 사용하지 말라는건 이상한 일이기 때문이다)
(오토와이어드의 Qualifier 같은 역할을 한다 @Named(value="아이디의 속성값"))
'공부 > Spring 복습' 카테고리의 다른 글
어노테이션을 이용한 스프링 설정방법 1. (0) | 2021.08.29 |
---|---|
스프링 생명 주기(Life Cycle) (0) | 2021.08.29 |
의존객체 자동 주입 (0) | 2021.08.27 |
스프링 설정 파일 분리 (1) | 2021.08.27 |
스프링 다양한 의존 객체 주입 방법 (0) | 2021.08.26 |