Middle
46
questionbank

Какие области видимости (scope) в Spring вы знаете?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech

В Spring Framework существует несколько стандартных областей видимости бинов:

  • singleton: Один экземпляр бина создается на каждый контекст Spring-контейнера. Это область видимости по умолчанию.
  • prototype: Новый экземпляр бина создается при каждом запросе (инъекции) этого бина.
  • request: Один экземпляр бина создается на каждый HTTP-запрос. Актуален только в Spring WebContext.
  • session: Один экземпляр бина создается на каждую HTTP-сессию. Актуален только в Spring WebContext.
  • application: Один экземпляр бина создается на весь жизненный цикл ServletContext. Актуален только в Spring WebContext.
  • websocket: Один экземпляр компонента создается на каждый жизненный цикл WebSocket-сессии. Актуален только в Spring WebSocket.

Пример объявления бина с указанием области видимости:

java

Для веб-областей видимости (request, session, application) обычно используется аннотация @RequestScope, @SessionScope, @ApplicationScope.