Spring 具有相同实现的接口声明

Spring declaration for interfaces with the same implementation

我对 Spring 有疑问。

我有两个独立的接口,findUnconditionalDiscountValuesStrategy 和 findConditionalDiscountValuesStrategy。这些接口在相同的 class MmfgFindPricingWithCurrentPriceFactoryStrategy 中实现。

这是在 spring 配置文件中声明的,如下所示:

<alias name="mmfgFindPricingWithCurrentPriceFactoryStrategy" alias="currentFactoryFindPricingStrategy"/>
<bean id="mmfgFindPricingWithCurrentPriceFactoryStrategy" class="com.mmfg.mmfgacceleratorcore.order.strategies.calculation.impl.MmfgFindPricingWithCurrentPriceFactoryStrategy" parent="abstractBusinessService">
    <property name="findPricingWithCurrentPriceFactoryStrategy" ref="original-currentFactoryFindPricingStrategy"/>
    <property name="configurationService" ref="configurationService"/>
    <property name="mmfgSessionService" ref="mmfgSessionService"/>
    <property name="mmfgUtilsDao" ref="mmfgUtilsDao" />
</bean>

现在,我在class

中使用这两个接口
private FindUnconditionalDiscountValuesStrategy findUnconditionalDiscountValuesStrategy;
private FindConditionalDiscountValuesStrategy findConditionalDiscountValueStrategy;

with getter and setter (getter protected and setter @Required).

现在我在spring配置文件中以这种方式声明了这个class:

<bean id="mmfgOrderCalculationStrategy" class="com.mmfg.mmfgacceleratorcore.order.strategies.calculation.impl.DefaultMmfgOrderCalculationStrategy">
    <property name="findUnconditionalDiscountValuesStrategy" ref="currentFactoryFindPricingStrategy"/>
    <property name="findConditionalDiscountValuesStrategy" ref="currentFactoryFindPricingStrategy"/>
    <property name="modelService" ref="modelService" />
    <property name="commonI18NService" ref="commonI18NService" />
    <property name="calculationService" ref="calculationService"/>
</bean>

两个接口的ref是一样的,因为实现class是一样的。

但是在运行时我得到这个错误:

org.springframework.beans.factory.BeanInitializationException:bean 'mmfgOrderCalculationStrategy'

需要 属性 'findConditionalDiscountValueStrategy'

如何在两个属性中声明 ref

有一个拼写错误。我的 属性 叫做 findConditionalDiscountValueStrategy。但在 class 中名称是 findConditionalDiscountValuesStrategy.