0

我有一个具有 autowired="byType" 属性的 bean 名称“MasterService”。在该 bean 中,我有一个属性为 AccountService accountService;我已经将此 bean 的实现注册为“DefaultAccountService”。现在有人想扩展“DefaultAccountService”并创建“CustomAccountService”。并且还注册,但在“MasterService”的初始化期间获得了 AccountService [DefaultAccountService 和 CustomAccountService] 有 2 个 bean 的异常。我们不知道如何解决这个问题?

提前致谢

4

2 回答 2

2

你需要 @Qualifier 注释

看这个例子:

http://www.mkyong.com/spring/spring-autowireing-qualifier-example/

在您的情况下,它将是:

@Autowired
@Qualifier("customAccountService")
private  AccountService accountService;
于 2012-09-25T14:30:09.803 回答
0

如果您想覆盖默认的自动装配,我认为如果您手动装配该特定服务会更清楚,因此维护人员乍一看就知道在这种情况下使用默认值:

<bean id="masterService" ... autowired="byType">
    <property name="accountService" ref="customAccountService"/>
</bean>

如果您只是不想手动连接任何东西,肯特的回答就可以了。

于 2012-09-25T18:59:18.993 回答