복붙노트

[SPRING] Bean의 속성이 util : list 객체에서 설정하지 않습니다.

SPRING

Bean의 속성이 util : list 객체에서 설정하지 않습니다.

스프링 구성 파일에서 spring util 네임 스페이스를 사용하여 다음 목록을 선언했습니다.

<util:list id="childList">
        <ref bean="child1"/>
        <ref bean="child2"/>
        <ref bean="child3"/>
</util:list>

모든 참조 빈은 @Componant 주석으로 표시되며 각각의 빈은 작성 중입니다. 하지만 언제든지 Autowired와 같은 bean 속성을 사용하려고 할 때마다 :

@Component
public class ListTest{

@Autowired
@Qualifier("childList")
private List<IParent> list;

public List<IParent> getList() {
    return list;
}

}

org.springframework.beans.factory.BeanCreationException : 'listTest'라는 이름의 빈을 생성하는 중 오류 발생 : 자동 종속 종속성의 삽입이 실패했습니다. 중첩 예외는 org.springframework.beans.factory.BeanCreationException : 필드를 자동 줄 바꿈 할 수 없습니다 : private java.util.List com.spring3.componentScanFilterTest.ListTest.list; 중첩 예외는 org.springframework.beans.factory.NoSuchBeanDefinitionException : 종속성에 대해 [com.spring3.componentScanFilterTest.IParent] 유형의 일치하는 bean이 없음 [collection of com.spring3.componentScanFilterTest.IParent] : 이 종속성에 대한 후보자를 autowire하십시오. 종속성 주석 : {@ org.springframework.beans.factory.annotation.Autowired (필수 = true), @ org.springframework.beans.factory.annotation.Qualifier (value = childList)}

하지만 @Autowired와 @Qualifier 대신 다음과 같이 사용하면 :     @Resource (name = "childList")

그것은 작동합니다. 왜? 내 이해에 따라 @Autowired는 유형별로 일치하는 속성을 autowire하는 데 사용되며 @Qualifier는 여러 모호한 bean에서 하나의 bean을 선택하는 데 사용됩니다.

설명 해주십시오.

해결법

  1. ==============================

    1.유형 일치는 콜렉션으로 정의 된 bean에 적절하게 적용 할 수 없습니다.

    유형 일치는 콜렉션으로 정의 된 bean에 적절하게 적용 할 수 없습니다.

    이리: http://docs.spring.io/spring/docs/2.5.x/reference/beans.html#beans-autowired-annotation-qualifiers

    한정자 "childList"가있는 Parent 유형의 모든 bean 목록을 가져 오려고합니다.

  2. ==============================

    2.스프링 워드 프로세서는 말한다.

    스프링 워드 프로세서는 말한다.

    이 의미상의 차이의 특수한 결과로, 콜렉션 또는 맵 유형으로 정의 된 bean은 @Autowired를 통해 주입 될 수 없습니다. 이는 유형 일치가 적절하게 적용되지 않기 때문입니다. 해당 빈에 대해 @Resource를 사용하여 특정 콜렉션 또는 맵 bean을 고유 한 이름으로 참조하십시오.

    희망이 당신의 의심을 취소하십시오.

  3. from https://stackoverflow.com/questions/33167789/beans-property-is-not-setting-from-utillist-object by cc-by-sa and MIT license