Назад к вопросам
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 {
// ...
}
Выбор области видимости зависит от требований к жизненному циклу и состоянию бина.