Вопрос проверяет знание жизненного цикла бинов и базовых настроек контейнера Spring.
По умолчанию в Spring используется scope singleton.
Это означает, что на один ApplicationContext создаётся один экземпляр бина.
Все запросы к этому бину возвращают один и тот же объект.
Это поведение применяется автоматически, если scope не указан явно.
Такой подход экономит ресурсы и упрощает управление зависимостями.
Spring управляет бинами через области видимости (scope), определяющие количество и время жизни экземпляров.
Singleton — это scope, который применяется автоматически.
Особенности:
один экземпляр бина на контейнер
создаётся при старте контекста
используется повторно во всех местах внедрения
Пример:
@Component
public class UserService {
}
В этом случае UserService будет singleton-бином.
Singleton в Spring:
не равен singleton из паттерна GoF
ограничен рамками контейнера
не гарантирует потокобезопасность
сервисы
репозитории
конфигурационные классы
Scope singleton используется по умолчанию, потому что он подходит для большинства сервисных компонентов и снижает накладные расходы.