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

Что такое аннотация @Repository в Spring

@Repository — это Spring-аннотация, помечающая класс как репозиторий (DAO-слой). Она выполняет две ключевые функции:

  1. Обнаружение исключений: автоматически транслирует специфичные для JDBC/Hibernate/JPA исключения в Spring-овские DataAccessException.
  1. Сканирование компонентов: работает как @Component, поэтому Spring регистрирует класс как бин в контексте.

Пример:

java
@Repository
public class UserRepositoryImpl implements UserRepository {
    @Autowired
    private JdbcTemplate jdbcTemplate;
    
    public User findById(Long id) {
        // SQL-запрос с автоматической обработкой исключений
    }
}

Отличие от @Component: @Repository явно указывает на DAO-роль и добавляет обработку исключений. В остальном — это синоним.

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

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

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

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