Junior — Middle
Czy możesz wyjaśnić koncepcję usługi w ramach Spring i jak jest ona używana w aplikacji?
sobes.tech AI
Odpowiedź od AI
W Springu serwis to komponent zawierający logikę biznesową aplikacji. Zazwyczaj serwisy oznacza się adnotacją @Service, co pozwala Springowi automatycznie je wykrywać i zarządzać nimi za pomocą kontenera zależności (IoC).
Serwisy służą do podziału odpowiedzialności: kontrolery obsługują żądania HTTP, a serwisy wykonują główną logikę, np. pracę z bazą danych, obliczenia lub integrację z systemami zewnętrznymi.
Przykład serwisu:
@Service
public class UserService {
public User findUserById(Long id) {
// logika wyszukiwania użytkownika
}
}
W kontrolerze serwis jest wstrzykiwany przez @Autowired lub przez konstruktor:
@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);
}
}