Встречается на собеседованиях • сегодня

Какие виды Bean Scope можно использовать в любом Spring-приложении

В Spring есть 6 стандартных областей видимости бинов (scopes):

  1. Singleton (по умолчанию) - один экземпляр на контейнер
  2. Prototype - новый экземпляр при каждом запросе
  3. Request - один экземпляр на HTTP-запрос (только для веб)
  4. Session - один экземпляр на HTTP-сессию (только для веб)
  5. Application - один экземпляр на ServletContext (только для веб)
  6. WebSocket - один экземпляр на WebSocket сессию (только для веб)

Для не-web приложений доступны только singleton и prototype. Пример объявления:

java
@Bean
@Scope("prototype")
public MyBean myBean() {
    return new MyBean();
}

Для веб-контекста можно использовать все 6 scopes, но request, session, application и websocket требуют дополнительной конфигурации (например, @Scope(value = WebApplicationContext.SCOPE_REQUEST, proxyMode = ScopedProxyMode.TARGET_CLASS)).

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы