Sobes.tech
Junior — Middle

Je možné považovať kontrolér za komponentu banu v kontexte Spring alebo podobného rámca?

sobes.tech AI

Odpoveď od AI

Áno, kontrolér v Springu (alebo v podobných frameworkoch) možno považovať za komponentu beana. V Springu sú kontroléry zvyčajne anotované s @Controller alebo @RestController, čo ich automaticky registruje ako Spring Bean v kontexte aplikácie.

Toto umožňuje využívať výhody Spring IoC kontajnera, ako je injektáž závislostí, správa životného cyklu a konfigurácia. Takže kontroléry sú spravované komponenty, ktoré spracúvajú HTTP požiadavky a komunikujú so servisnou vrstvou.

Príklad:

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

Tu je UserController Spring Bean, ktorý je spravovaný kontajnerom.