Sobes.tech
Junior — Middle

Cum determină Spring că o clasă este un component pentru injecția de dependențe?

sobes.tech AI

Răspuns de la AI

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

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

Пример:

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

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