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にどのように伝えることができますか?クラスを変更したくありません。SpecializedService
DefaultService
Consumer