Junior — Middle
102
Können Sie den Zweck der Annotation @Repository in Spring erklären und wie sie bei der Arbeit mit Datenbanken verwendet wird?
Unternehmen wurden gefragt
Red Collar
Antwort von AI
sobes.tech KI
Аннотация @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));
}
}