Я пытаюсь понять сценарий, который мне кажется очень простым при использовании контекста приложения Spring xml, но при использовании аннотаций он выглядит более неопределенным.Создание различных контекстов с помощью весенних аннотаций
Скажем, у меня есть класс, который выглядит примерно так (. Это все ради примера Не обращайте внимание на имена классов, и т.д. ...):
@Component
public class BusinessLogicImpl implements BusinessLogic {
@Autowire
BeanThatTalksWithDataSource beanThatTalksWithDataSource;
@Autowire
BeanThatDoesSomeWork beanThatDoesSomeWork;
}
И тогда я есть какой-то другой компонент, использующий этот компонент
@Component
public class MainLogicImpl implements MainLogic {
@Autowire
BusinesLogic businessLogic;
}
Давайте предположим, что BeanThatTalksWithDataSource
имеет 2 реализации - тот, который делает работу с источником данных файловой системы, а другой, который работает с БД. Также BeanThatDoesSomeWork
имеет две различные реализации.
Я хочу создать 4 различные конфигурации, которые включают в себя каждую комбинацию из 2-х реализаций BeanThatTalksWithDataSource
с 2 реализациями BeanThatDoesSomeWork
и в конце концов, чтобы загрузить нужный вариант в MainLogicImpl
.
В xml это довольно просто - я создаю 4 xml-файла, которые содержат 4 различных возможных контекста. Что было бы эквивалентом такой вещи при работе с аннотациями?
Я хотел бы подчеркнуть, что я говорю об аннотации, а не о классе @Configuration. Я пытаюсь выяснить, возможно ли это только с аннотациями.