Назад к вопросам
Intern
3
Какие scope (скопы) бывают у бинов в Spring?
Компании, где спрашивали
sber tech
Ответ от нейросети
sobes.tech AI
В Spring Framework существуют следующие основные скоупы (области видимости) бинов:
- Singleton (по умолчанию) — один экземпляр бина на весь контейнер Spring. Все запросы получают один и тот же объект.
- Prototype — при каждом запросе создаётся новый экземпляр бина.
- Request — бин живёт в рамках одного HTTP-запроса (актуально для web-приложений).
- Session — бин живёт в рамках HTTP-сессии пользователя.
- Application — бин живёт в рамках ServletContext, то есть на всё приложение.
- Websocket — бин живёт в рамках WebSocket-сессии.
Пример объявления бина с прототипным скоупом:
@Component
@Scope("prototype")
public class MyPrototypeBean {
// ...
}
Выбор скоупа зависит от требований к жизненному циклу и состоянию бина в приложении.