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

Можете объяснить назначение и использование аннотации Scope в контексте Spring?

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

sobes.tech AI

Аннотация @Scope в Spring используется для определения области видимости (scope) бина — то есть, как долго существует экземпляр бина и как он создаётся.

Основные области видимости:

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

Пример использования:

@Component
@Scope("prototype")
public class MyBean {
    // каждый вызов getBean(MyBean.class) создаст новый объект
}

Таким образом, @Scope позволяет управлять жизненным циклом и областью видимости компонентов в приложении Spring.