我有以下定義。Spring @Autowired與2個相同類型的豆
@Autowired
DaoType1<object1> someDao;
@Autowired
DaoType1<object1> someListDao;
,在我的bean定義我有相同的類型
<bean id="someDao" class="com.example.DaoType1" />
<bean id="someListDao" class="com.example.DaoType1" />
第二豆是從另一個XML文件中導入兩種豆子,如果有差別。他們也有不同的屬性。爲什麼spring不會拋出錯誤,因爲已經定義了2個相同類型的bean。它是否使用變量名稱,因爲它們與bean ID匹配。 dao是不同的,如果我已經爲兩個不同的bean使用了@Qualifiers,那麼功能就會按預期工作。
這是一個更簡潔的版本。我忽略了其他豆類,因爲它們不相關。
的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-服務,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>
默認自動裝配不存在任何的我的XML文件在所有。
嗯,我預料會失敗。畢竟,它可能會使用字段名稱。這就是'@ Resource'所做的,所以這是一致的。 – skaffman 2010-10-13 16:09:17
能否顯示整個'applicationContext.xml'(兩者)? – Bozho 2010-10-13 20:13:07