Sobes.tech
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 аст, ки аз ҷониби контейнер идора мешавад.