Sobes.tech
Назад к вопросам
Junior — Middle
67

Какие типы область видимости у компонентов Bean существуют в Spring?

Ответ от нейросети

sobes.tech AI

В Spring существуют следующие основные типы областей видимости (scopes) для компонентов Bean:

  • singleton (по умолчанию) — один экземпляр бина создаётся на весь контейнер Spring. Все запросы получают один и тот же объект.
  • prototype — при каждом запросе создаётся новый экземпляр бина.
  • request — бин существует в рамках одного HTTP-запроса (актуально для веб-приложений).
  • session — бин привязан к HTTP-сессии пользователя.
  • application — бин существует в рамках ServletContext, то есть на всё веб-приложение.
  • websocket — бин существует в рамках WebSocket-сессии.

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

@Component
@Scope("prototype")
public class MyBean {
    // ...
}

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