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

Каким образом Spring определяет, что класс является компонентом для внедрения зависимостей?

Компании, где спрашивали
ООО Ренью

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

sobes.tech AI

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

Кроме того, для автоматического обнаружения таких классов используется сканирование компонентов (component scanning), которое настраивается через аннотацию @ComponentScan или в конфигурационных файлах. При сканировании Spring ищет классы с указанными аннотациями и создает их экземпляры для внедрения зависимостей.

Пример:

@Component
public class MyService {
    // логика сервиса
}

В этом примере класс MyService будет автоматически зарегистрирован как bean и доступен для внедрения в другие компоненты.