Встречается на собеседованиях • сегодня
В чем разница между @Controller и @Component
@Controller — это специализированная версия @Component, предназначенная для веб-слоя в Spring MVC. Она обрабатывает HTTP-запросы и возвращает представления (View) или данные (REST).
@Component — общая аннотация для любых Spring-бинов без специфической семантики.
Пример:
java
@Controller
public class MyController {
@GetMapping("/hello")
public String sayHello() {
return "hello-page"; // Возвращает имя представления
}
}
@Component
public class MyService {
public void doWork() {
// Логика сервиса
}
} Ключевые отличия:
@Controllerподдерживает аннотации MVC (@GetMapping,@PostMapping).@Component— универсальный бин,@Controller— специализированный.@Controllerавтоматически детектируется как часть@ComponentScanдля веб-слоя.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы