Back to questions
Junior — Middle
62
Что такое область видимости компонентов, помеченных аннотацией @Component, и как она определяется по умолчанию?
Companies where asked
Ви6 Сервисес
Answer from AI
sobes.tech AI
В Spring Framework компоненты, помеченные аннотацией @Component, по умолчанию имеют область видимости singleton. Это означает, что для каждого такого компонента создаётся единственный экземпляр в контексте приложения, и этот экземпляр используется повторно при внедрении зависимостей.
Область видимости (scope) компонента определяет, сколько экземпляров этого компонента будет создано и как долго они будут жить.
По умолчанию:
@Componentсоздаёт singleton bean.
Если нужно изменить область видимости, можно использовать аннотацию @Scope, например:
@Component
@Scope("prototype")
public class MyComponent {
// каждый запрос создаёт новый экземпляр
}
Таким образом, без явного указания области видимости, компоненты @Component являются singleton и живут в течение всего времени работы контекста Spring.