You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring MVC中Controller、Service、Repository层返回对象该如何命名

Spring MVC 分层对象命名规范参考

核心分层对象命名约定

  • Repository层:和数据表结构一一映射的持久化对象统一使用XxxEntity格式命名,例如用户表对应UserEntity。该类对象仅在Repository层内部使用、或作为Repository层的返回值传递给Service层,不允许透出到更上层。
  • Service层:裁剪Entity字段、聚合多Entity数据、承载业务逻辑的传输对象,统一使用XxxDTO(Data Transfer Object,数据传输对象)格式命名,例如用户业务传输对象命名为UserDTO。该类对象是Service层对外输出的标准模型,仅包含当前业务场景所需的字段,不绑定底层表结构。
  • Controller层:适配不同端、不同业务场景展示需求的视图对象,统一使用XxxVO(View Object,视图对象)格式命名,可根据场景补充后缀区分,例如PC端用户视图对象命名为UserPcVO、移动端用户视图对象命名为UserMobileVO、用户列表视图对象命名为UserListVO。该类对象完全匹配前端展示要求,是Controller层返回给前端的最终模型。

配套使用规范

  • 严格遵守层间对象边界,禁止Entity直接透出到Controller层返回给前端,也禁止VO对象传入Service层参与业务逻辑处理,避免层间耦合。
  • 遵循单场景专用原则,不要为了复用强行将多个不相关业务场景的字段合并到同一个DTO/VO中,避免对象冗余、后续维护混乱。
  • 对象转换逻辑分层放置:Entity转DTO的逻辑放在Service层内部实现,DTO转VO的逻辑放在Controller层内部实现,不要跨层编写转换代码。

内容的提问来源于stack exchange,提问作者Michele

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 08:24:08