Sobes.tech
Junior — Middle

Pode-se considerar um controlador como um componente bean no contexto do Spring ou de um quadro semelhante?

sobes.tech IA

Resposta da IA

Sim, o controlador no Spring (ou em frameworks semelhantes) pode ser considerado como um componente bean. No Spring, os controladores geralmente são anotados com @Controller ou @RestController, o que os registra automaticamente como um Bean do Spring no contexto da aplicação.

Isso permite aproveitar as vantagens do contêiner IoC do Spring, como injeção de dependências, gestão do ciclo de vida e configuração. Assim, os controladores são componentes geridos que lidam com requisições HTTP e interagem com a camada de serviço.

Exemplo:

@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);
    }
}

Aqui, UserController é um Bean do Spring gerido pelo contêiner.