Sobes.tech
Назад к вопросам
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 {
    // ...
}

Выбор скоупа зависит от требований к жизненному циклу и состоянию бина в приложении.