Sobes.tech
Назад к вопросам
Junior — Middle
63

Что такое область видимости компонентов, помеченных аннотацией @Component, и как она определяется по умолчанию?

Компании, где спрашивали
Ви6 Сервисес

Ответ от нейросети

sobes.tech AI

В Spring Framework компоненты, помеченные аннотацией @Component, по умолчанию имеют область видимости singleton. Это означает, что для каждого такого компонента создаётся единственный экземпляр в контексте приложения, и этот экземпляр используется повторно при внедрении зависимостей.

Область видимости (scope) компонента определяет, сколько экземпляров этого компонента будет создано и как долго они будут жить.

По умолчанию:

  • @Component создаёт singleton bean.

Если нужно изменить область видимости, можно использовать аннотацию @Scope, например:

@Component
@Scope("prototype")
public class MyComponent {
    // каждый запрос создаёт новый экземпляр
}

Таким образом, без явного указания области видимости, компоненты @Component являются singleton и живут в течение всего времени работы контекста Spring.