没有定义[org.springframework.batch.item.file.mapping.DefaultLineMapper]类型的唯一bean:期望的单个匹配bean但找到3

时间:2012-04-12 13:42:31

标签: spring

我在mapping-xml中有一个spring bean的以下映射。然后当我在我的一个junit-test类中尝试@Autowired“ClassParent”时,我得到异常为“org.springframework” .beans.factory.NoSuchBeanDefinitionException:没有定义类型为[org.springframework.batch.item.file.mapping.DefaultLineMapper]的唯一bean:期望的单个匹配bean但找到3“

映射是:

<bean id="ClassParent"
        class="org.springframework.batch.item.file.mapping.PatternMatchingCompositeLineMapper">
        <property name="tokenizers">
            <map>
                <entry key="D*" value-ref="ClassC" />
                <entry key="T*" value-ref="ClassD" />
            </map>
        </property>
        <property name="fieldSetMappers">
            <map>
                <entry key="D*" value-ref="ClassA" />
                <entry key="T*" value-ref="ClassB" />
            </map>
        </property>
    </bean>

我如何自动装配豆“ClassParent”请帮帮我。

1 个答案:

答案 0 :(得分:1)

它尝试找到注入的bean定义并找到三个bean。你必须使用资源注释指定name属性,并在名称attriburte中给出要注入该特定实例的bean的id

@Resouce(name="classparentId")
@Autowired

请参阅Problem with Autowiring & No unique bean