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

Объясните различия между скоупами бинов Singleton и Prototype в контексте управления жизненным циклом объектов Spring

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

sobes.tech AI

В Spring Framework скоупы бинов определяют жизненный цикл и область видимости объектов.

  • Singleton — это скоуп по умолчанию. Всякий раз, когда запрашивается бин с этим скоупом, возвращается один и тот же экземпляр на весь контекст Spring. Это экономит ресурсы и гарантирует единообразие состояния.

  • Prototype — при каждом запросе создаётся новый экземпляр бина. Spring не управляет полным жизненным циклом таких бинов (например, не вызывает методы уничтожения).

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

Пример определения бина с Prototype скоупом:

@Component
@Scope("prototype")
public class MyPrototypeBean {
    // ...
}