Назад к вопросам
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() создаст новый экземпляр
}