Учитывая, что у меня bean-компонент Spring настроен как
@Service("myService")
public class DefaultService extends MyService {
}
и класс, использующий этот боб
public class Consumer {
@Autowired
@Qualifier("myService")
private MyService service;
...
}
Теперь я хочу, чтобы в моем проекте, включающем предыдущие классы, Consumer
была внедрена еще одна реализация MyService
. Поэтому я хотел бы переписать боб myService
@Service("myService")
public class SpecializedService implements MyService {
}
в результате Consumer
теперь переносит экземпляр SpecializedService
вместо DefaultService
. По определению я не могу иметь два bean-компонента с одинаковым именем в контейнере Spring. Как я могу сказать весне, что определение нового сервиса перезапишет старый? Я не хочу изменять класс Consumer
.