Встречается на собеседованиях • сегодня

В чем разница между областями видимости Singleton и Prototype в Spring

Области видимости (scopes) в Spring определяют жизненный цикл и количество экземпляров бина:

Singleton (по умолчанию)

  • Один экземпляр на весь контекст приложения
  • Создается при старте контекста (если не lazy)
  • Все запросы получают один и тот же объект
java
@Component
@Scope("singleton") // можно не указывать
public class SingletonService {}

Prototype

  • Новый экземпляр при каждом запросе (через getBean() или инъекцию)
  • Не управляется контейнером после создания
  • Подходит для stateful-бинов
java
@Component
@Scope("prototype")
public class PrototypeService {}

Ключевые отличия:

  1. Количество экземпляров
  2. Время жизни (prototype не уничтожается контейнером)
  3. Prototype бины требуют особого обращения в singleton-бинах (проксирование)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы