-
[Spring] @Autowired와 @Qualifier프로그래밍 공부/Spring 2021. 4. 30. 21:09
뉴렉처 강사님의 동영상 강의를 정리한 글입니다.
@Autowired: XML에서 DI 하는 것을 대신하는 어노테이션
기본적으로 자동으로 해당 객체를 찾아 DI를 해준다.
어떤 기준?
1. 해당 인터페이스나 클래스로 구현된 객체를 찾는다.
2. 찾아진 객체가 여러개일 경우 사용된 이름과 동일한 객체를 찾는다.
@Autowired @Override public void setExam(Exam exam) { this.exam = exam; }
1 => Exam으로 구현된 객체를 찾는다.
2 => exam 이름을 가진 객체를 찾는다.
DI 할 객체의 이름을 특정해주는 어노테이션이 존재한다.
이때 사용하는 어노테이션이 @Qualifier이다.
@Qualifier("exam1") 과 같이 사용한다.
InlineExamConsole.java
@Autowired @Qualifier("exam1") @Override public void setExam(Exam exam) { this.exam = exam; }
xml은 InlineExamConsole 객체를 생성할 때 생성자에 넣어줄 객체를 xml에서 찾게 된다. (@Autowired)
우선 Exam 인터페이스로 구현된 객체를 찾고, "exam1" 이라는 이름을 가진 객체를 찾아 DI 하게 된다. (@Qualifier)
'프로그래밍 공부 > Spring' 카테고리의 다른 글
[Spring] Annotation을 이용한 객체생성 (0) 2021.04.30 [Spring] @Autowired의 위치와 Required 옵션 (0) 2021.04.30 [Spring] Annotation 이용의 장점과 @Autowired를 이용한 DI (0) 2021.04.30 [Spring] 콜렉션 생성과 DI (0) 2021.04.30 [Spring] 생성자 DI (0) 2021.04.29