Sobes.tech
Back to questions
Junior — Middle
56

Можете объяснить концепцию сервиса в рамках Spring и как он используется внутри приложения?

Companies where asked
Red Collar

Answer from AI

sobes.tech AI

В Spring сервис — это компонент, который содержит бизнес-логику приложения. Обычно сервисы помечаются аннотацией @Service, что позволяет Spring автоматически обнаруживать их и управлять ими через контейнер зависимостей (IoC).

Сервисы используются для разделения ответственности: контроллеры обрабатывают HTTP-запросы, а сервисы выполняют основную логику, например, работу с базой данных, вычисления или интеграцию с внешними системами.

Пример сервиса:

@Service
public class UserService {
    public User findUserById(Long id) {
        // логика поиска пользователя
    }
}

В контроллере сервис внедряется через @Autowired или конструктор:

@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);
    }
}