鉴于我有一个 Spring bean 配置为
@Service("myService")
public class DefaultService extends MyService {
}
和一个使用这个 bean 的类
public class Consumer {
@Autowired
@Qualifier("myService")
private MyService service;
...
}
我现在希望我的项目(包括前面的类)有Consumer
另一个MyService
被注入的实现。因此我想覆盖beanmyService
@Service("myService")
public class SpecializedService implements MyService {
}
导致Consumer
现在携带一个实例SpecializedService
而不是DefaultService
。根据定义,我不能在 Spring 容器中拥有两个同名的 bean。我怎么能告诉春天,新服务的定义将覆盖旧服务?我不想修改Consumer
课程。