Встречается на собеседованиях • сегодня

Когда @Repository нужна при наследовании

@Repository — это специализированная аннотация Spring, помечающая класс как компонент DAO (Data Access Object). Она автоматически перехватывает исключения JDBC и преобразует их в DataAccessException.

Когда нужна при наследовании:

  1. Репозиторий наследует интерфейс JpaRepository (или другой репозиторий Spring Data) — аннотация не обязательна, так как Spring Data уже помечает такие интерфейсы автоматически.
  2. Кастомный репозиторий с ручной реализацией — если класс реализует методы доступа к данным, @Repository обязательна для включения в контекст Spring и обработки исключений.

Пример:

java
@Repository  
public class UserRepositoryImpl implements UserCustomRepository {  
    @Autowired  
    private JdbcTemplate jdbcTemplate;  
    // кастомная логика с обработкой исключений  
}  

Без @Repository Spring не будет управлять этим классом, и исключения не будут корректно обработаны.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы