Junior — Middle
Care este diferența dintre domeniile de vizibilitate Singleton și Prototype în contextul Spring Framework?
sobes.tech AI
Răspuns de la AI
В Spring Framework области видимости (scopes) определяют жизненный цикл и видимость бинов.
-
Singleton — это область видимости по умолчанию. В этом случае Spring создаёт один экземпляр бина на весь контейнер Spring. Все запросы к этому бину получают один и тот же объект. Это экономит ресурсы и удобно для сервисов, которые не хранят состояние.
-
Prototype — при этой области видимости Spring создаёт новый экземпляр бина каждый раз, когда он запрашивается из контейнера. Это полезно, когда нужен отдельный объект с собственным состоянием для каждого использования.
Пример:
@Component
@Scope("prototype")
public class MyPrototypeBean {
// каждый вызов getBean() создаст новый объект
}
@Component
public class MySingletonBean {
// по умолчанию singleton
}
Таким образом, Singleton — один объект на приложение, Prototype — новый объект при каждом запросе.