簡體   English   中英

具有相同實現的接口的Spring聲明

[英]Spring declaration for interfaces with the same implementation

我對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:bean'mmfgOrderCalculationStrategy'需要屬性'findConditionalDiscountValueStrategy'

如何在兩個屬性中聲明ref

出現錯字錯誤。 我的屬性稱為findConditionalDiscount 價值策略 但是在該類中,名稱為findConditionalDiscount Values Strategy

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM