Встречается на собеседованиях • сегодня
В чем разница между Component, Service, Repository, Controller и RestController в Spring
`@Component` — базовая аннотация для любого Spring-бина.
`@Service` — специализированный `@Component` для бизнес-логики (семитический маркер).
`@Repository` — специализированный `@Component` для работы с БД (перехватывает SQL-исключения и преобразует их в Spring `DataAccessException`).
`@Controller` — аннотация для MVC-контроллеров, возвращает имя представления (view).
`@RestController` — специализированный `@Controller` для REST API, автоматически сериализует ответы в JSON/XML (эквивалентен `@Controller` + `@ResponseBody`).
**Пример:**
```java
@RestController
@RequestMapping("/api")
public class UserController {
@Autowired
private UserService userService; // @Service
@GetMapping("/users")
public List getUsers() {
return userService.findAll();
}
}
```

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы