Junior — Middle
92
¿Puede explicar el propósito de la anotación @Repository en Spring y cómo se utiliza en el trabajo con bases de datos?
Empresas donde se preguntó
Red Collar
Respuesta de la IA
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));
}
}