Как вы сказали, аннотация @Autowired
внедрит все зависимости и автоматически загрузит весь контекст.Ваш подход тоже работает, но он действительно хрупок!Как вы можете гарантировать, что в ваших тестах вам никогда не понадобятся бобы, которые вы не добавили вручную?
Также есть еще одна важная вещь.Когда вы позволяете пружине вводить зависимости, если есть проблема с объявлением bean-компонентов, проблема будет проявляться на этапе тестирования, но при вашем подходе они не будут идентифицироваться.
Также иногда вы можете @Autowired
интерфейс, который сообщает Spring, чтобы получить реализацию во время выполнения.Например, у вас есть родительский модуль, который имеет интерфейс, который реализуется в дочернем модуле.Если вы хотите написать тестовый пример в parent, у вас нет доступа к дочерней реализации, чтобы создать новое из этого.