더북(TheBook)

따라서 대상 빈에 String 타입의 등록 정보가 있고 ApplicationContextString 타입의 빈이 있다면 스프링은 String 빈을 대상 빈의 String 등록 정보에 연결합니다. 동일한 ApplicationContext 인스턴스에 타입이 동일한 빈이 둘 이상 있으면(이 경우 String) 스프링은 자동와이어링에 사용할 타입을 결정할 수 없으며 org.springframework.beans.factory.NoSuchBeanDefinitionException 타입의 예외를 던집니다.

다음은 각 방식을 이용해 동일한 타입의 빈 세 개를 자동으로 생성하는 간단한 구성(app-context-03.xml)입니다.

예제 3-112 다양한 방식을 통해 동일한 타입의 빈을 생성하도록 설정된 구성 파일([[bean-autowiring]] app-context-03.xml)

<beans ...>

    <bean id="fooOne" class="com.apress.prospring5.ch3.xml.Foo"/>
    <bean id="barOne" class="com.apress.prospring5.ch3.xml.Bar"/>

    <bean id="targetByName" autowire="byName"
        class="com.apress.prospring5.ch3.xml.Target" lazy-init="true"/>

    <bean id="targetByType" autowire="byType"
        class="com.apress.prospring5.ch3.xml.Target" lazy-init="true"/>

    <bean id="targetConstructor" autowire="constructor"
        class="com.apress.prospring5.ch3.xml.Target" lazy-init="true"/>

</beans>
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.