Встречается на собеседованиях • сегодня

Можно ли написать аннотацию Component у интерфейса в Spring

Нет, аннотация @Component (и другие стереотипные аннотации, такие как @Service, @Repository) предназначена для классов, а не интерфейсов. Spring сканирует и создаёт бины только из конкретных реализаций.

Пример:

java
@Component // Работает
public class MyServiceImpl implements MyService {
    // реализация
}

@Component // Не будет работать - Spring проигнорирует
public interface MyService {
    void doSomething();
}

Интерфейсы в Spring используются для определения контрактов, а их реализации помечаются аннотациями для создания бинов. Если попытаться добавить @Component к интерфейсу, Spring не выбросит ошибку, но и не создаст бин.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы