Встречается на собеседованиях • сегодня
В чем разница между аннотациями @Repository, @Service и @Controller
@Repository, @Service и @Controller — стереотипные аннотации Spring, которые обозначают разные слои приложения:
- @Repository — помечает класс как DAO/репозиторий. Автоматически перехватывает исключения JDBC и преобразует их в Spring DataAccessException.
java
@Repository
public class UserRepositoryImpl implements UserRepository { ... }- @Service — бизнес-логика. Указывает, что класс содержит сервисные операции. Часто используется для транзакций.
java
@Service
public class UserService { ... }- @Controller — маркирует класс как Spring MVC контроллер, обрабатывающий HTTP-запросы.
java
@Controller
@RequestMapping("/users")
public class UserController { ... }Все они являются специализациями @Component, но семантически разделяют ответственность. Разница в обработке: например, @Repository взаимодействует с персистентностью, а @Controller — с веб-слоем.

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