POJO领域模型(Param、VO、DTO、PO等)

目录

1.定义

2.Param、VO、DTO、PO等各个对象的作用

3.各层的作用

4.服务一想和服务二通讯


1.定义

        ①、POJO(Plain Ordinary Java Object简单无规则java对象)是纯粹的传统意义的java对象。        

        ②、POJO是DO/DTO/BO/VO的统称,禁止命名为***POJO

2.Param、VO、DTO、PO等各个对象的作用

        ①、Param和VO:Controller层是和前端交互的(Controller是提供接口的),为了限制我的入参出参,定义了Param和VO类,我的入参由Param去约束,如果我这个接口的入参不变,那么我这个Param入参就不变;如果我接口的出参不变,那么我这个VO类出参就不变。

        ②、DTO:DTO存在的生命周期是这个service,也就是说service方法的入参出参都用这个DTO去约束。因为这个service也是别人可以用的,不能把数据库暴露给所有人,需要用DTO来隐藏数据库。

        ③、PO:PO就是和数据库做关联的,数据库不变他就不变

        ④、param:前端向controller

        ⑤、vo:controller向前端        

        ⑥、bo:controller和service

        ⑦、do:service和dao

3.各层的作用

        ①、entity层

        别名: model层 ,domain层

        用途: 实体层,用于存放我们的实体类,与数据库中的属性值基本保持一致,实现set和get的方法。

        ②、mapper层

        别名: dao层

        用途: 对数据库进行数据持久化操作,他的方法语句是直接针对数据库操作的,主要实现一些增删改查操作,在mybatis中方法主要与与xxx.xml内相互一一映射。

        ③、service层

        用途:业务service层,业务逻辑处理,组装数据,将数据库中的数据查出来组装交给controller进行调用。一般就是自己写的方法封装起来,就是声明一下,具体实现在serviceImpl中。        

        ④、controller层

        别名:web 层

        用途: 控制层,负责具体模块的业务流程控制,需要调用service逻辑设计层的接口来控制业务流程。因为service中的方法是我们使用到的,controller通过接收前端H5或者App传过来的参数进行业务操作,再将处理结果返回到前端。

4.服务一想和服务二通讯

        ①、通过http调用:Controller接口暴露了http接口,谁都可以调用(客户端,后端,Python程序,C程序等),因为大家都遵循http协议

        ②、通过dubbo协议:RPC(远程调用),两个虽然没在一台机器,s1服务想直接调用s2的service,不通过http协议,先将s2的client(client里面只有interface接口) jar包引进去,s1就可以直接通过@Autowired将interface注入到自己的项目里去,通过RPC协议、Dubbo协议直接调用service方法(和自己的代码里方法的用法一样)。所以需要用DTO去约束service的入参和出参,因为这个service不只是我要用,别人也可能用,需要固定格式。代码实现在s2中,所以对于s1来说叫远程调用。

        ③、电商公司一般都用dubbo,因为dubbo快;技术栈不是特别先进的公司会用http,通用且实现简单,不需要搭建dubbo框架

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值