Sobes.tech
Junior — Middle
97

Was ist der Unterschied zwischen den Gültigkeitsbereichen Singleton und Prototype im Kontext des Spring Frameworks?

Unternehmen wurden gefragt
Prooftech
Stroki
ITFB Group
Тетрасофт
ОТП БанкОТП Банк

Antwort von AI

sobes.tech KI

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

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

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

Пример:

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

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

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