快速掌握SpringBoot项目中的domain、mapper、service、controller层作用与书写格式
在SpringBoot项目中,各层的作用和书写格式如下:
- Domain(域模型层):该层负责封装项目中需要使用的数据和业务逻辑,通常对应数据库中的一张表。
@Entity
@Table(name = "user")
public class User {
@Id
private Long id;
private String name;
// 省略getter和setter方法
}
- Mapper(数据访问层):该层负责数据库的交互,通过MyBatis或JPA等技术进行数据库的CRUD操作。
public interface UserMapper extends JpaRepository<User, Long> {
User findByName(String name);
}
- Service(业务逻辑层):该层是连接Controller和Mapper的桥梁,负责业务逻辑的处理。
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public User getUserByName(String name) {
return userMapper.findByName(name);
}
}
- Controller(控制器层):接收用户的请求,调用Service层的方法处理请求,并返回处理结果。
@RestController
@RequestMapping("/api/users")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/{name}")
public User getUser(@PathVariable String name) {
return userService.getUserByName(name);
}
}
以上代码展示了如何在SpringBoot项目中创建一个简单的用户查询功能。在实际开发中,每一层都有其特定的职责,遵循单一职责原则,有利于代码的维护和扩展。
评论已关闭