Junior — Middle
91
Puoi spiegare lo scopo dell'annotazione @Repository in Spring e come viene utilizzata nel lavoro con i database?
Le aziende dove è stato chiesto
Red Collar
Risposta dell'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));
}
}