Junior — Middle
Magyarázza el a Singleton és Prototype beanek scope-jainak különbségeit a Spring objektum életciklusának kezelésében
sobes.tech MI
Válasz az MI-től
В Spring Framework скоупы бинов определяют жизненный цикл и область видимости объектов.
-
Singleton — это скоуп по умолчанию. Всякий раз, когда запрашивается бин с этим скоупом, возвращается один и тот же экземпляр на весь контекст Spring. Это экономит ресурсы и гарантирует единообразие состояния.
-
Prototype — при каждом запросе создаётся новый экземпляр бина. Spring не управляет полным жизненным циклом таких бинов (например, не вызывает методы уничтожения).
Таким образом, Singleton подходит для сервисов с общим состоянием, а Prototype — для объектов, которые должны быть уникальными при каждом использовании.
Пример определения бина с Prototype скоупом:
@Component
@Scope("prototype")
public class MyPrototypeBean {
// ...
}