Junior — Middle
94
Spring-те @Controller және @Component аннотацияларының айырмашылықтары мен олардың мақсаты қандай?
AI-дан жауап
sobes.tech AI
В 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";
}
}