Spring middle

Scope: prototype в singleton?

Ответ

Prototype-бин создастся один раз при инжекте. Решение: Provider<T>, ObjectFactory<T>, @Lookup.

Разбор: Зависимости в singleton разрешаются один раз при его создании, поэтому инжектированный prototype-бин фактически становится singleton-ом — новый экземпляр не создаётся при каждом обращении. Чтобы получать свежий экземпляр, нужно явно использовать Provider<T>, ObjectFactory<T>, @Lookup или scoped-proxy. Ловушка в том, что автоматического проксирования prototype нет, и никакой ошибки на старте Spring не выбрасывает.

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

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