Junior — Middle
Можете ли да објасните концепт сервиса у оквиру Spring-а и како се користи унутар апликације?
sobes.tech АИ
Одговор од АИ
U Springu, servis je komponent koji sadrži poslovnu logiku aplikacije. Obično se servisi označavaju anotacijom @Service, što omogućava Springu da ih automatski prepozna i upravlja njima putem kontejnera zavisnosti (IoC).
Servisi se koriste za razdvajanje odgovornosti: kontroleri obrađuju HTTP zahteve, a servisi izvršavaju glavnu logiku, kao što je rad sa bazama podataka, kalkulacije ili integracija sa spoljnim sistemima.
Primer servisa:
@Service
public class UserService {
public User findUserById(Long id) {
// logika za pronalazak korisnika
}
}
U kontroleru, servis se ubrizgava putem @Autowired ili konstruktorom:
@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.findUserById(id);
}
}