gpt4 book ai didi

java - 具有相同实现的接口(interface)的 Spring 声明

转载 作者:太空宇宙 更新时间:2023-11-04 13:34:38 25 4
gpt4 key购买 nike

我在使用 Spring 时遇到问题。

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

现在,我在一个类中使用这两个接口(interface)

private FindUnconditionalDiscountValuesStrategy findUnconditionalDiscountValuesStrategy;
private FindConditionalDiscountValuesStrategy findConditionalDiscountValueStrategy;

带有 getter 和 setter(getter protected 和 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>

两个接口(interface)的ref是相同的,因为实现类是相同的。

但在运行时我收到此错误:

org.springframework.beans.factory.BeanInitializationException:bean“mmfgOrderCalculationStrategy”需要属性“findConditionalDiscountValueStrategy”

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

最佳答案

有一个拼写错误。我的属性名为 findConditionalDiscountValueStrategy。但在类中,名称是 findConditionalDiscountValuesStrategy

关于java - 具有相同实现的接口(interface)的 Spring 声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31829439/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com