bean은 객체 생성
property에서는 인젝션이 발생함.
여기까지가 xml방식으로 인젝션
어노테이션으로 인젝션되긴 하는데
어디서 인젝션되는지 연결고리를 알아보자.
연결고리는 좌측 setExam 메소드의 (Exam ~)와
우측 bean의 class="spring.di.entity.NewlecExam"
Exam을 참조할 수 있는 객체를 자동으로 찾아서 바인딩을 해줌
<bean class="spring.di.entity.NewlecExam" p:kor="10" p:eng="10"/>
<bean class="spring.di.entity.NewlecExam" p:kor="20" p:eng="20"/>
이렇게 같게 두 줄 작성하면 에러가 뜸
<bean id="exam" class="spring.di.entity.NewlecExam" p:kor="10" p:eng="10"/>
<bean class="spring.di.entity.NewlecExam" p:kor="20" p:eng="20"/>
id="exam"추가해 주면 구분가능해져서 정상 작동
정리
기본적으로
<bean>내 class="spring.di.entity.NewlecExam"를 먼저 찾고
동일한게 있다면 그 다음으로 id="exam" 를 찾는다.
또다른 방식으로는
@Qualifier("exam1") 방법도 있다.
https://www.youtube.com/watch?v=Od-WtriilwY&list=PLq8wAnVUcTFUHYMzoV2RoFoY2HDTKru3T&index=13
'Spring' 카테고리의 다른 글
스프링 강의 15강 - 어노테이션을 이용한 객체생성 (0) | 2021.12.28 |
---|---|
스프링 강의 14강 _ @Autowired의 위치와 required 옵션 (0) | 2021.12.27 |
스프링 강의 12강 _ 어노테이션을 이용할 때의 장점과 @Autowired를 이용한 DI 해보기 (0) | 2021.12.27 |
스프링 강의 11강 _ 콜렉션 생성과 목록 DI (0) | 2021.12.27 |
스프링 10강 - 생성자 DI (1) | 2021.12.27 |
댓글