Junior — Middle
შესაძლებელია თუ არა კონტროლერის განთავსება Spring-ის ან მსგავსი ჩარჩოს კონტექსტში ბინ კომპონენტად?
sobes.tech AI
პასუხი AI-სგან
დიახ, Spring-ში (ან მსგავსი ჩარჩოებში) კონტროლერი შეიძლება განვიხილოთ როგორც ბინ კომპონენტი. 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, რომელსაც მართავს კონტეინერი.