Назад к вопросам
Middle
74
questionbank
Какие области видимости (scope) в Spring вы знаете?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
В Spring Framework существует несколько стандартных областей видимости бинов:
singleton: Один экземпляр бина создается на каждый контекст Spring-контейнера. Это область видимости по умолчанию.prototype: Новый экземпляр бина создается при каждом запросе (инъекции) этого бина.request: Один экземпляр бина создается на каждый HTTP-запрос. Актуален только в Spring WebContext.session: Один экземпляр бина создается на каждую HTTP-сессию. Актуален только в Spring WebContext.application: Один экземпляр бина создается на весь жизненный циклServletContext. Актуален только в Spring WebContext.websocket: Один экземпляр компонента создается на каждый жизненный цикл WebSocket-сессии. Актуален только в Spring WebSocket.
Пример объявления бина с указанием области видимости:
@Component
@Scope("prototype") // Или @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
public class MyPrototypeBean {
// ...
}
Для веб-областей видимости (request, session, application) обычно используется аннотация @RequestScope, @SessionScope, @ApplicationScope.