【发布时间】:2011-07-31 08:57:41
【问题描述】:
鉴于我将 Spring bean 配置为
@Service("myService")
public class DefaultService extends MyService {
}
还有一个使用这个 bean 的类
public class Consumer {
@Autowired
@Qualifier("myService")
private MyService service;
...
}
我现在希望我的项目(包括前面的类)能够注入 Consumer 的另一个 MyService 实现。因此我想覆盖bean myService
@Service("myService")
public class SpecializedService implements MyService {
}
导致Consumer 现在携带SpecializedService 的实例而不是DefaultService。根据定义,我不能在 Spring 容器中拥有两个同名的 bean。我怎么能告诉春天,新服务的定义将覆盖旧服务?我不想修改Consumer 类。
【问题讨论】:
标签: spring javabeans overwrite autowired inject