我有一个bean名称“MasterService”,其属性为autowired =“byType”。在那个bean我有一个属性 AccountService accountService; 我已将此bean的实现注册为“DefaultAccountService”。现在有人想扩展'DefaultAccountService'并创建'CustomAccountService'。并且还注册但在初始化“MasterService”期间获得了AccountService [DefaultAccountService和CustomAccountService]的2个bean的异常。 我们不知道如何解决这个问题?
提前致谢
答案 0 :(得分:2)
您需要@Qualifier注释
见这个例子:
http://www.mkyong.com/spring/spring-autowiring-qualifier-example/
在你的情况下,它将是:
@Autowired
@Qualifier("customAccountService")
private AccountService accountService;
答案 1 :(得分:0)
如果您想覆盖默认的自动装配,我认为如果您手动连接该特定服务会更清楚,因此维护人员一眼就知道在这种情况下默认情况下不使用:
<bean id="masterService" ... autowired="byType">
<property name="accountService" ref="customAccountService"/>
</bean>
如果你只是不想手动连接任何东西,肯特的回答就是这样。