Sobes.tech
Junior — Middle

Може ли контролер да се сматра као боб компонента у контексту Spring или сличног оквира?

sobes.tech АИ

Одговор од АИ

Да, контролер у Spring-у (или у сличним framework-овима) може се сматрати као компонентa бина. У Spring-у, контролери се обично означавају са @Controller или @RestController, што их аутоматски региструје као Spring Bean у контексту апликације.

Ово омогућава коришћење предности Spring IoC контејнера, као што су убризгавање зависности, управљање животним циклусом и конфигурација. Стога, контролери су управљани компоненти које обрађују 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 који је управљан од стране контејнера.