Встречается на собеседованиях • сегодня
В чем разница между @Repository и @Service
Оба аннотации являются стереотипными и помечают класс как Spring-компонент (@Component), но имеют разные семантические значения:
@Repository- Используется для классов, работающих с данными (DAO, репозитории)
- Автоматически перехватывает исключения JDBC/Hibernate и преобразует их в Spring
DataAccessException - Пример:
java
@Repository public class UserRepositoryImpl implements UserRepository { // JDBC/JPA операции }
@Service- Обозначает сервисный слой бизнес-логики
- Часто вызывает методы репозитория и добавляет транзакционность (
@Transactional) - Пример:
java
@Service public class UserService { @Autowired private UserRepository repo; public User getUser(Long id) { return repo.findById(id); } }
Разница концептуальная: @Repository - доступ к данным, @Service - бизнес-логика. Spring обрабатывает их одинаково, но аннотации улучшают читаемость кода.

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