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

Какова роль области видимости (Scope) у Bean в контексте управления его жизненным циклом?

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

sobes.tech AI

Область видимости (Scope) у Bean определяет время жизни и видимость экземпляра объекта в рамках контейнера управления зависимостями (например, Spring). Это влияет на то, когда создаётся Bean, сколько экземпляров существует и как долго они живут.

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

  • Singleton (по умолчанию) — один экземпляр Bean на весь контейнер, создаётся при старте и живёт до завершения работы приложения.
  • Prototype — новый экземпляр создаётся каждый раз при запросе Bean.
  • Request (в веб-приложениях) — Bean живёт в течение одного HTTP-запроса.
  • Session — Bean живёт в течение сессии пользователя.

Роль области видимости — управлять жизненным циклом Bean, оптимизировать использование ресурсов и обеспечивать правильное поведение приложения. Например, Singleton подходит для сервисов с состоянием, а Prototype — для объектов с коротким сроком жизни.

Пример в Spring:

@Component
@Scope("prototype")
public class MyBean {
    // каждый вызов getBean() создаст новый экземпляр
}