Junior — Middle
147
Peut-on expliquer les différences entre les annotations @Controller et @Component dans Spring, et quelle est leur fonction?
Réponse de l'IA
sobes.tech IA
В Spring @Component — это универсальная аннотация для обозначения класса как компонента, который будет управляться контейнером Spring (IoC). Она служит для автоматического обнаружения и регистрации бинов.
@Controller — это специализированная аннотация, которая расширяет @Component и указывает, что класс предназначен для обработки HTTP-запросов в MVC-приложении. Классы с @Controller обычно содержат методы с аннотациями типа @RequestMapping для маршрутизации.
Таким образом:
@Component— общий стереотип для компонентов.@Controller— специализированный компонент для веб-контроллеров.
Пример:
@Component
public class MyService {
// бизнес-логика
}
@Controller
public class MyController {
@RequestMapping("/hello")
public String sayHello() {
return "hello";
}
}