在企业的业务中,有时候会创建很xxxBo.java、xxxQo等模型,一般这些模型怎么使用,简单说下自己的见解

各种Bean对应的意义,如vo、qo、dto、bo

目前使用比较多的是vo、qo、bo

vo 视图对象,一般用于返回到前端的数据

qo 查询对象,一般用于输入查询条件

bo 业务对象,一般用于插入,更新等业务对象

如代码如下的结构

@RestController
@RequestMapping("/qovo")
public class QoVoController {@AutowiredIQoVoService qoVoService; // 服务层@GetMapping("/find")public List<UserVo> findUserList(UserQo qo){return qoVoService.findUserList(qo);}@GetMapping("/insert")public Boolean insert(@RequestBody UserBo userBo){return qoVoService.insert(userBo);}
}

优点:

模型作用比较清晰,例如看到Qo后缀就知道是查询对象,Vo对象就是视图对象。

还有一点是Vo中可以新增一些其他查询的对象,不然都放一个对象中会显得比较臃肿

缺点:

需要重复创建模型,例如一个相同属性的类,要创建Vo、Bo、Dto等后缀,而增加一些共同的属性或修改,就会加n倍修改。

同时由于方法调用,需要对Bean进行转换。

我觉得能使用无规则就是用无规则吧,是用vo等还是弊大于利。

vo、qo、bo在spring中的位置相关推荐

  1. bo dto java vo_java中PO、VO、BO、POJO、DAO、DTO、TO、QO、Bean、conn的理解

    O/R Mapping 是 Object Relational Mapping (对象关系映射)的缩写.通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据.在 O/R Mapping 的世界里 ...

  2. 项目开发中,真的有必要定义VO,BO,PO,DO,DTO这些吗?

    点击关注公众号,实用技术文章及时了解 存在即是合理的,业务复杂,人员协同性要求高的场景下,这些规范性的东西不按着来虽然不会出错,程序照样跑,但是遵守规范会让程序更具扩展性和可读性,都是前辈血淋淋的宝贵 ...

  3. java po vo bo是什么以及_JAVA中(PO,VO,TO,BO,DAO,POJO)分别是指什么

    (一)O/R Mapping 是 Object Relational Mapping(对象关系映射)的缩写.通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据. 在O/R Mapping的世界 ...

  4. Java 开发中 一篇文章讲清楚VO,BO,PO,DO,DTO的区别

    ⼀.概念定义 1.PO:Persistant Object(持久对象),基本上,PO对象中的属性就是对应着数据库中表的字段,加上⼀些get和set⽅法的组成.例:个⼈信息表中分别有:id,name,a ...

  5. java中的bo和do_一篇文章讲清楚VO,BO,PO,DO,DTO的区别

    随着编程工业化水平的不断加深,各种编程模型层出不穷(比如MVC,MVP等等),伴随着这些编程模型,又有一大批新的概念蜂拥而至,什么VO,BO,PO,DO,DTO之类的,这些新的概念一直以来都是云里雾里 ...

  6. Java中VO,BO,PO,DO,DTO的详解

    概述 对象类型位置图 先来看张图 看完图估计大部分人就已经有了一个直观的感受了. 面对这个图,让我们先从承上启下的DTO开始入手 对象类型说明 DTO(Data Transfer Object)数据传 ...

  7. Java中的VO,BO,PO,DO,DTO

      随着现在后端编程标准化程度越来越高,各种编程模型层出不穷.作为Java开发人员,大部分人不免要接触VO,BO,PO,DO,DTO之类的,但很多人对这些概念一直以来都是云里雾里,团队开发过程中也总是 ...

  8. 一款IDEA插件神器,帮你一键转换DTO、VO、BO、PO、DO

    今日推荐 推荐一个 Java 接口快速开发框架干掉Random:这个类已经成为获取随机数的王者Docker + Intellij IDEA,提升 10 倍生产力!笑出腹肌的注释,都是被代码耽误的诗人! ...

  9. java的(PO,VO,TO,BO,DAO,POJO)类名包名解释

    java的(PO,VO,TO,BO,DAO,POJO)解释 action包  顾名思义请求,主要是和view 即我们所说的视图就是页面打交道,action类 是 操作方法,对于页 面Form 表单的操 ...

最新文章

  1. 《研磨设计模式》chap10 中介者模式Mediator(1)简介
  2. locate 和 find
  3. Jenkins CLI命令行工具,助你轻松管理 Jenkins
  4. oracle联机和脱机什么意思,Oracle 表空间联机(online)与脱机(offline)
  5. ajax请求, 前后端, 代码示例
  6. 浅析inline-block--使用inline-block创建布局
  7. 一个很好的反选的例子
  8. Java 实现线程的两种方式
  9. python加mysql加界面用代码写,使用python写一个监控mysql的脚本,在zabbix web上加上模板...
  10. [20150228]Delayed Block Cleanout 2.txt
  11. Everything搜索语法
  12. 英语在计算机上的应用研究,计算机在英语教学中的应用
  13. es拼音分词 大帅哥_elasticsearch实现中文分词和拼音分词混合查询+CompletionSuggestion...
  14. Modern Family Season 1#01
  15. ax.patches 表示什么?
  16. 【Python_PyQtGraph 学习笔记(五)】基于PyQtGraph和GraphicsLayoutWidget动态绘图并实现窗口模式,且保留全部绘图信息
  17. 【矩阵论笔记】Hermit标准型
  18. ZZULIOJ:1135: 算菜价
  19. 阻容感基础09:电感器原理(4)-趋肤效应和气隙磁芯
  20. Nervos 双周报第 6 期:一旦开始,一切就会变得简单

热门文章

  1. 华为过程可信cib是指_华为EMUI10取消IMEI?数字联盟可信ID——更可靠的移动设备唯一标识...
  2. 华为服务器 自动安装 黑屏,华为服务器显示器黑屏如何解决
  3. SAP ABAP 业务开关和 SAP 电商云的 Feature Level
  4. bandwagon centos6_x86_bbr
  5. WSA无法调用GPU跑分解决方法
  6. 3.19百度移动端 一连三面
  7. vue前端$axios向后台传json数组如何接受,以及URL乱码/解码的问题。
  8. HTML文件标签和文本标签
  9. mysql 中 一个汉字吗_MySQL 中一个汉字占多少存储?
  10. 2023成都电源工业展览会