Назад к вопросам
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.