본문 바로가기
목차
Spring

스프링 강의 13강 - @Autowired의 동작방식 이해와 @Qualifier 사용하기

by 지각생 2021. 12. 27.
728x90

 

 

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 

 

728x90

댓글