Аннотация @Component в Spring Framework предназначена для пометки классов как компонентов, которые будут автоматически обнаружены и зарегистрированы в контексте Spring (IoC контейнере). Применять @Component к интерфейсу нельзя, так как интерфейс не может быть инстанцирован, и Spring не сможет создать бин на его основе.
Можно ли применять аннотацию @Component к интерфейсу в рамках Spring Framework?
Аннотация @Component в Spring Framework предназначена для пометки классов как компонентов, которые будут автоматически обнаружены и зарегистрированы в контексте Spring (IoC контейнере).
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Аннотация @Component в Spring Framework предназначена для пометки классов как компонентов, которые будут автоматически обнаружены и зарегистрированы в контексте Spring (IoC контейнере). Применять @Component к интерфейсу нельзя, так как интерфейс не может быть инстанцирован, и Spring не сможет создать бин на его основе.
Обычно @Component ставят на классы, которые реализуют интерфейсы или сами являются компонентами. Если нужно зарегистрировать бин по интерфейсу, то это делается через класс-реализацию, а не через интерфейс.