Немного фона:
Я использую Spring 2.5, в частности Spring IOC и аннотации.
Я использую @Autowired
в своем коде (автопроводка выполняется по типу)
и используйте @Component
для выставления классов на автоматическое подключение.
Ситуация, описанная ниже, возникла при попытке проверить мой код.
Теперь к проблеме:
Примечание. Я использую другой контекст Spring для среды тестирования.
У меня есть класс FOO
, который @Autowired
, но в контексте теста я хочу использовать другой класс того же типа MockFoo
(extends FOO
).
Настройка Spring, конечно, завершается неудачей автоматически из-за нескольких опций для внедрения зависимостей класса FOO
(и FOO
, и MockFOO
соответствуют проверке типа).
Я ищу способ ввести тестовый компонент вместо оригинального.
Я ожидал, что Spring разрешит использовать файл конфигурации Context для переопределения внедрения bean-компонента или запретить Spring автоматически связывать конкретный bean-компонент.
НО
Кажется, что все эти опции существуют только для bean-компонентов, которые были изначально определены в файле конфигурации контекста Spring.