Предполагая, что у меня есть два класса Circle и Rectangle, которые реализуют интерфейс с именем Shape.
И у меня есть следующий класс:
public class ObjectFactory {
@Autowired
@Qualifier("circle")
Shape shape;
.......
.......
.......
}
То, что я хочу сделать, это удалить @Qualifier и сделать так, чтобы автопровод зависел от некоторого условия (например, если условие истинно, тогда введите Circle, если условие ложно, введите прямоугольник) или сделайте проводку зависимой соглашение об именах.
Есть способ сделать это ?
Позвольте мне объяснить, если я удалю аннотацию @Qualifier, я получу следующее исключение
org.springframework.beans.factory.NoSuchBeanDefinitionException:
No unique bean of type [com.app.objects.Shape] is defined:
expected single matching bean but found 2: [circle, rectangle]
Есть ли способ программно обработать это исключение, чтобы иметь автоматическую разводку в зависимости от состояния?