Junior — Middle
90
Spring Framework-те Singleton және Prototype шеңберлерінің айырмашылығы неде?
Сұралған компаниялар
Prooftech
Stroki
ITFB Group
Тетрасофт
AI-дан жауап
sobes.tech AI
В Spring Framework области видимости (scopes) определяют жизненный цикл и видимость бинов.
-
Singleton — это область видимости по умолчанию. В этом случае Spring создаёт один экземпляр бина на весь контейнер Spring. Все запросы к этому бину получают один и тот же объект. Это экономит ресурсы и удобно для сервисов, которые не хранят состояние.
-
Prototype — при этой области видимости Spring создаёт новый экземпляр бина каждый раз, когда он запрашивается из контейнера. Это полезно, когда нужен отдельный объект с собственным состоянием для каждого использования.
Пример:
@Component
@Scope("prototype")
public class MyPrototypeBean {
// каждый вызов getBean() создаст новый объект
}
@Component
public class MySingletonBean {
// по умолчанию singleton
}
Таким образом, Singleton — один объект на приложение, Prototype — новый объект при каждом запросе.