Sobes.tech
Junior — Middle
94

Koja je razlika između oblasti vidljivosti Singleton i Prototype u kontekstu Spring Framework-a?

Компаније где су питане
Prooftech
Stroki
ITFB Group
Тетрасофт
ОТП БанкОТП Банк

Одговор од АИ

sobes.tech АИ

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

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

  • Prototype — при этой области видимости Spring создаёт новый экземпляр бина каждый раз, когда он запрашивается из контейнера. Это полезно, когда нужен отдельный объект с собственным состоянием для каждого использования.

Пример:

@Component
@Scope("prototype")
public class MyPrototypeBean {
    // каждый вызов getBean() создаст новый объект
}

@Component
public class MySingletonBean {
    // по умолчанию singleton
}

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