我们开发的时候 往往都是 三层架构 即 controller、service、dao层。往往开发的时候,各种各样的需求 需要我们添加新的层次去操作。
先讲解下 基础的三层架构
先模拟一个场景:饿了想喝水,人体是如何执行呢?
- Controller层 是对前端或者接口的响应一个逻辑处理的层。可理解成 大脑,得知身体发送的请求,需要去喝水了,就去找Service 神经中枢 去找具体器官 操作。
- Service层 是对Controller的功能的响应一个逻辑处理的层,是对后台的有关联的逻辑的一个处理。可理解成神经中枢,得到大脑的指令,就开始去找器官,让器官干活。
- Dao层 是对Service的功能的响应的实现,这个层级调用的是数据库,这个层级调用sql代码的,这里 理解成(器官)手,开始拿起杯子 喝水。
最近,看到一些讲到 vo、dto等各种各样的层次,本篇文章,就对此做下讲解。
VO
Value Object 值对象 也可以理解成视图对象。出参
主要体现在视图的对象,对于一个WEB页面将整个页面的属性封装成一个对象。然后用一个VO对象在控制层与视图层进行传输交换。
DTO
Data Transfer Object 数据传输对象。入参
含义:DTO (经过处理后的PO,可能增加或者减少PO的属性)
比如我们一张表有100个字段,那么对应的PO就有100个属性。
但是我们界面上只要显示10个字段,客户端用WEB service来获取数据,没有必要把整个PO对象传递到客户端,这时我们就可以用只有这10个属性的DTO来传递结果到客户端。
PO
Persistant Object持久对象,从DB获取到的数据。
利用BeanUtils实现DTO、PO、VO的互转
// 注意:此BeanUtils是Spring官方的!也可使用Apache-comment包下的
@Test
void UserToVO() {
User user = new User("张三", 21, true);
UserVO userVO = new UserVO();
BeanUtils.copyProperties(user,userVO);
// System.out.println(userVO);
}
特殊说明: 上述文章均是作者实际操作后产出。烦请各位,请勿直接盗用!转载记得标注原文链接:www.zanglikun.com
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取全部资料 ❤
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取全部资料 ❤