SpringBeanが次のように構成されているとします。
@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インスタンスが実行されます。定義上、Springコンテナに同じ名前のBeanを2つ含めることはできません。新しいサービスの定義が古いサービスを上書きすることをSpringにどのように伝えることができますか?クラスを変更したくありません。SpecializedServiceDefaultServiceConsumer