Printemps @Autocâblés avec 2 fèves de même type

J'ai l'défini suivant.

@Autowired
DaoType1<object1> someDao;

@Autowired
DaoType1<object1> someListDao;

et dans mon haricot définitions que j'ai deux grains du même type

<bean id="someDao" class="com.example.DaoType1" />
<bean id="someListDao" class="com.example.DaoType1" />

La deuxième haricot est importé à partir d'un autre fichier xml si cela fait une différence. Ils ont des propriétés différentes d'être ensemble. Pourquoi est le printemps, de ne pas jeter une erreur car 2 haricots du même type ont été définis. Faut-il utiliser des noms de variables, car ils correspondent à la bean id. Le dao sont différents et la fonctionnalité fonctionne comme prévu si j'avais utilisé @Qualificatifs pour les deux haricots.

Ici est une version plus concise. J'ai laissé de côté d'autres haricots depuis que j'ai ils ne sont pas pertinents.

applicationContext.xml

<import resource="classpath:dm-services-crud.xml"/>
<bean id="ruleListCrudService" class="com.idna.dm.service.crud.impl.RuleCrudServiceImpl"> 
    <property name="crudDao" ref="ruleListCrudDao" />
</bean>

dm-services-crud.xml

    <bean id="ruleCrudService" class="com.idna.dm.service.crud.impl.RuleCrudServiceImpl">
        <property name="crudDao" ref="ruleCrudDao" />
        <property name="ruleNetworkOfNodesCrudService" ref="ruleNetworkOfNodesCrudService" />
        <property name="elementMappingsCrudService" ref="elementMappingsCrudService" />
        <property name="ruleCrudDao" ref="newRuleCrudDao"/>
   </bean>

par défaut-autowire n'est pas présent dans aucun de mes fichiers xml.

Hmm, j'aurais attendu qu'à l'échec. Peut-être qu'il n'utilisez le champ nom après tout. C'est ce qu'il fait avec @Resource, alors que ce serait cohérent.
pourriez-vous montrer l'ensemble de la applicationContext.xml (les deux) ?

OriginalL'auteur DeliveryNinja | 2010-10-13