前言
参考文章链接
总结一下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;}
版权归原作者 YYLA1 所有, 如有侵权,请联系我们删除。