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

时间:2015-08-05 10:09:28

标签: java spring spring-mvc hybris

我遇到了Spring的问题。

我有两个独立的接口,findUnconditionalDiscountValuesStrategy和findConditionalDiscountValuesStrategy。这些接口在同一个类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>

现在,我在类

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

使用getter和setter(getter 受保护和setter @Required )。

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

<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 是相同的,因为实现类是相同的。

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

org.springframework.beans.factory.BeanInitializationException:Property&#39; findConditionalDiscountValueStrategy&#39; bean&#39; mmfgOrderCalculationStrategy&#39;

是必需的

我如何在两个属性中声明 ref

1 个答案:

答案 0 :(得分:0)

存在拼写错误。我的媒体资源名为 findConditionalDiscount 价值策略。但是在课堂上,名称是 findConditionalDiscount 策略