Spring middle

Какой способ внедрения предпочтительнее?

Ответ

Constructor injection. Поля можно final, явно видны обязательные зависимости, удобно тестировать без контекста, нет скрытых циклических зависимостей.

Разбор: Constructor injection обеспечивает final-поля, явные обязательные зависимости, тестирование без контейнера и раннее выявление циклов. Field injection как раз НЕ позволяет final при стандартном внедрении и прячет зависимости; setter не даёт immutable-полей и не защищает от циклов; @Lookup решает совсем другую задачу — подстановку prototype-бина в singleton — и к выбору способа внедрения отношения не имеет.

Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.

Заказать гайд Пройти тест
новые гайды и свежие вопросы с собесов — первыми в Telegram Смотреть гайды Подписаться