@Repository的用法和案例
时间: 2023-07-07 19:29:53 浏览: 101
SpringBoot开发实战(实战案例)
@Repository 注解通常用于标记数据访问层(DAO)的实现类,用于访问数据库或其他持久化存储,以及对数据进行增删改查等操作。
使用 @Repository 注解可以让 Spring 自动扫描并注册 DAO 实现类,同时也可以使代码更加清晰易读,表示该类是用于数据访问的。
示例代码:
```
@Repository
public class UserDaoImpl implements UserDao {
@Autowired
private JdbcTemplate jdbcTemplate;
@Override
public User getUserById(Long id) {
String sql = "SELECT id, username, password FROM user WHERE id = ?";
RowMapper<User> mapper = new BeanPropertyRowMapper<>(User.class);
return jdbcTemplate.queryForObject(sql, mapper, id);
}
// 其他方法
}
```
上述代码中,@Repository 注解标记 UserDaoImpl 类为 DAO 实现类,实现了 UserDao 接口中的方法。另外,该类中使用了 @Autowired 注解注入了一个 JdbcTemplate 对象,用于执行 SQL 语句。
在其他类中使用该 DAO 实现类时,只需要使用 @Autowired 注解将该类注入即可:
```
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserDao userDao;
@Override
public User getUserById(Long id) {
return userDao.getUserById(id);
}
// 其他方法
}
```
上述代码中,@Service 注解标记 UserServiceImpl 类为业务逻辑层的实现类,使用 @Autowired 注解注入了 UserDao 对象,以便调用 getUserById() 方法。
因此,@Repository 注解的作用是标记 DAO 实现类,用于访问数据库或其他持久化存储,并且可以让 Spring 自动扫描并注册该类,以供其他组件使用。
阅读全文