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