























面试中被问到“Java为什么有这么多‘O’,比如PO、DTO、VO、BO”,我之前的回答不够系统,复盘时发现自己对这些“O”的理解和串联不够清晰。本文以一个基于Spring Boot + MyBatis的用户查询接口为例,解析各“O”的定位、必要性及对象转换优化方案。
需求:前端通过GET /user?userId=123查询用户信息,后端返回姓名和注册天数。
技术栈:Spring Boot + MyBatis。
public class UserQueryDTO {
private Long userId;
private Integer page;
private Integer size;
// getters and setters
}
@RestController
public class UserController {
private final UserService userService;
@GetMapping("/user")
public UserVO getUser(@RequestParam UserQueryDTO queryDTO) {
return userService.getUserInfo(queryDTO);
}
}
DTO(Data Transfer Object)角色:
@Valid注解校验。 除非注明,否则均为李锋镝的博客原创文章,转载必须以链接形式标明本文链接
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。