Back to questions
СБЕР дейвайсы
Северсталь-Ифоком
Junior — Middle
55
Можете объяснить назначение аннотации @Repository в Spring и как она используется в работе с базами данных?
Companies where asked
Red Collar
Answer from AI
sobes.tech AI
Аннотация @Repository в Spring используется для обозначения класса как компонента, отвечающего за доступ к данным (DAO — Data Access Object). Она служит маркером для Spring, чтобы автоматически зарегистрировать этот класс как bean и применить к нему специфическую обработку, например, перевод исключений базы данных в унифицированные исключения Spring (DataAccessException).
Использование @Repository помогает:
- Организовать слой доступа к данным.
- Обеспечить автоматическую обработку исключений, связанных с базой.
- Интегрироваться с механизмами Spring, такими как транзакции.
Пример:
@Repository
public class UserRepository {
@Autowired
private JdbcTemplate jdbcTemplate;
public User findById(Long id) {
return jdbcTemplate.queryForObject(
"SELECT * FROM users WHERE id = ?",
new Object[]{id},
new BeanPropertyRowMapper<>(User.class));
}
}