Sobes.tech
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);
    }
}