Sobes.tech
Junior — Middle

¿Cuál es la diferencia entre los ámbitos de Singleton y Prototype en el contexto de Spring Framework?

sobes.tech AI

Respuesta de la IA

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

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

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

Пример:

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

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

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