DTO概念的了解和使用
前言
参考文章链接
总结一下DTO的概念和基础使用
DTO 介绍
DTO本身不是业务对象,他是根据UI需求进行设计的。简单来说Model面向业务,我们是通过业务来定义Model的。
而DTO是面向UI,通过UI的需求来定义的,通过DTO我们实现了表现层与Model层之间的解耦,表现层不引用Model。如果开发过程中我们的模型变了,而界面没变,我们只需改Model而不需要去改动表现层。
DTO 代码例子
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("tb_user")
public class User implements Serializable {private static final long serialVersionUID = 1L;@TableId(value = "id", type = IdType.AUTO)private Long id;private String phone;private String password;private String nickName;private String icon = "";private LocalDateTime createTime;private LocalDateTime updateTime;}
我们原来的user类
面向Model
如果前端只需要显示用户名
那我们不应该传递密码等敏感数据
应该定义面向UI的DTO
而且当我们业务更改 后端model层新加属性 比如address等
不需要更改面向UI的DTO 实现了一定解耦
于是我们使用DTO
好处
1 实现了一定视图层和Model层解耦
2 可以防止敏感信息泄露
3 如果使用session 存取较少的数据可以节省内存空间
使用DTO
@Data
public class UserDTO {private Long id;private String nickName;private String icon;
}
DTO概念的了解和使用相关推荐
- 领域驱动模型VO,BO,PO,DO,DTO概念及其区别
本文来说下领域驱动模型VO,BO,PO,DO,DTO 概念及其区别 文章目录 概述 概念以及区别 本文小结 概述 随着编程工业化水平的不断加深,各种编程模型层出不穷(比如MVC,MVP等等),伴随着这 ...
- 领域驱动模型VO,BO,PO,DO,DTO概念介绍和区别
先来一张图,有一个直观地感受: 概念介绍 VO(View Object)视图对象 用于展示层(和控制层Controller共同属于表现层),它的作用是把某个指定页面(或组件)的所有数据封装起来.说白了 ...
- 真的有必要定义VO,BO,PO,DO,DTO吗?
今天给大家带来一篇关于VO,BO,PO,DO,DTO的文章,阅读完这篇文章之后,希望大家对VO,BO,PO,DO,DTO有自己的见解. VO,BO,PO,DO,DTO 概念 在讲具体的概念之前,我们先 ...
- 合理使用DTO(Data Transfer Object)
文章目录 1. DTO简介 2. 到底什么是DTO? 3. 将DTO用作POJO 4. Java 中使用DTO的例子 5. 反例: 滥用DTO 6. 小结 相关链接 DTO, 全称为 Data Tra ...
- 网上书城—登录、书籍管理
前言: 登录模块涉及到的功能在jsp的时候其实就已经有写到过了,这边就不做过多的讲解代码意思了. 管理员模块,这边主要是书籍管理模块,涉及到了最基础增删改查. 目录 一.登录模块 1.主要功能: 2. ...
- Java中 实体类 VO、 PO、DO、DTO、 BO、 QO、DAO、POJO的概念
PO(persistant object) 持久对象 在 o/r 映射的时候出现的概念,如果没有 o/r 映射,没有这个概念存在了.通常对应数据模型 ( 数据库 ), 本身还有部分业务逻辑的处理.可以 ...
- 浅析 VO、DTO、DO、PO 的概念、区别和用处!
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源:cnblogs.com/qixuejia/p/4390086 ...
- Java中PO、BO、VO、DTO、POJO、DAO概念及其作用和项目实例图(转)
PO(bean.entity等命名): Persistant Object持久对象,数据库表中的记录在java对象中的显示状态 最形象的理解就是一个PO就是数据库中的一条记录. 好处是可以把一条记录作 ...
- map和foreach的区别和应用场景_浅析项目中常用的 VO、DTO、DO、PO的概念、区别和用处...
概念: 模型: VO与DTO的区别 VO与DTO的应用 DTO与DO的区别 DTO与DO的应用 DO与PO的区别 DO与PO的应用 本篇文章主要讨论一下我们经常会用到的一些对象:VO.DTO.DO和P ...
最新文章
- RSA签名的PSS模式
- sql 使用视图的好处
- 北大图灵班本科生获STOC最佳论文奖!这个对标清华姚班的人才计划,正在频频交出答卷...
- gsea结果分析图怎么看_数据分析怎么做?看这篇就够了!
- 【学习笔记】低代码平台(LCAP:Low-Code Application Platform)
- python调用shell脚本
- 关闭openssh服务_关于redhat7的openssh漏洞升级修复方法
- python基于pillow库的简单图像处理
- vnc 序列号在哪输入_VNC Viewer Plus 1.2.3 注册机
- img 图片加载出错时 显示默认图片
- 全新微头像V2.1.8版全套iApp源码分享
- JavaWeb播放视频实现断点续传、分片上传
- Auto.js 支付宝 跳转意图
- python绘制缓和曲线_曲线标
- pyLDA系列︱gensim中的主题模型(Latent Dirichlet Allocation)
- windows安装memcached
- SQL Injection Bypassing WAF ——from DVWA ——2012-12-8
- 微软出了一个Python小白神器!
- Stratified Transformer复现和调试记录,ubuntu20复现S3DIS数据集(点云语义分割)
- Hadoop集群搭建(所需软件安装包已上传发布)
热门文章
- 数字病理切片的github处理链接
- 从17素材网上下载素材并运行
- 你的微信昵称正在暴露你的性格和状态,你知道吗?
- 亚马逊listing产品和竞品的销量查询方法
- Spark框架概括(Spark 是什么、Spark and Hadoop、Spark or Hadoop、Spark核心模块)
- 家庭太阳能发电,何时能告别“两极分化”?
- 21.拉格朗日中值定理柯西中值定理
- CSS中利用BootStrap框架引入glyphicon图标无法显示的解决方法
- b级计算机考试全名叫啥,大专英语B级全称是什么
- RESET - 把一个运行时参数值恢复为缺省值