Junior — Middle
Може ли контролерът да се разглежда като компонент на бийн в контекста на Spring или подобен фреймуърк?
sobes.tech AI
Отговор от AI
Да, контролерът в Spring (или в подобни рамки) може да се разглежда като компонент на бийн. В Spring, контролерите обикновено се анотират с @Controller или @RestController, което ги регистрира автоматично като Spring Bean в контекста на приложението.
Това позволява да се използват предимствата на IoC контейнера на Spring, като инжектиране на зависимости, управление на жизнения цикъл и конфигурация. Така контролерите са управлявани компоненти, които обработват HTTP заявки и взаимодействат със слоя за услуги.
Пример:
@RestController
public class UserController {
private final UserService userService;
public UserController(UserService userService) {
this.userService = userService;
}
@GetMapping("/users/{id}")
public User getUser(@PathVariable Long id) {
return userService.findById(id);
}
}
Тук UserController е Spring Bean, управляван от контейнера.