728x90
자동으로 묶고자 하는 <bean> 에 autowire특성을 설정 함으로서
빈을 자동으로 묶을 수 있게 한다.
자동묶기(autowire)의 타입
1. byName - 특성의 이름과 동일한 이름이나 ID 를 가진 빈을 컨테이너에서 찾는다.
2. byType - 특성의 타입과 동일한 타입을 가진 빈을 컨테이너에서 찾는다. (하나이상의 빈 발견시 UnsatisfiedDependencyException
3. constructor - 빈의 생성자 중 하나의 파라미터와 맞는 하나 이상의 빈을 컨테이너에서 찾는다.
4. autodetect - 생성자에의한 자동묶기 시도후 byType 자동묶기시도.
- 자동묶기는 default로 byName
<beans default-autowire="byName">
- 자동묶기시 byName 의 경우 리팩토링할경우 xml파일 수정하지 않는이상 빈을 찾지 못한다....(당연한건가..ㅡㅡ;너무)
tip ) autowire 를 설정하지 않은 어떤 특성이라도 여전히 프로퍼티 요소 사용 가능하다. 이는 자동묶기와 명시적묶기의 함께 사용으로서 byType설정시의 모호성 처리를 위한 방법중 한가지이다)
ex)
<bean id="courseService" class="service.CourseServiceImpl"
autowire="byName">
<property name="courseDao">
<ref bean="someOtherCourseDao"/>
</property>
</bean>
728x90