SpringBoot里的XO

在Spring Boot开发中,PO、VO、DAO、BO、DTO和POJO是常见的对象类型,各自承担不同的角色:

  1. PO (Persistent Object)
    持久化对象,与数据库表结构一一对应,通常包含ORM框架注解(如@Table),用于直接操作数据库。例如:

    public class UserPO {
    private Long id;
    private String username;
    // getters/setters
     }

  2. VO (View Object)
    视图对象,用于封装前端展示所需的数据,通常聚合多个领域对象或仅暴露特定字段。例如:

    public class UserVO {
    private String username;
    private Integer age;
    // getters/setters }

  3. DAO (Data Access Object)
    数据访问对象,封装数据库操作逻辑(如CRUD),隐藏底层存储细节。例如:

    public interface UserDAO {
    UserPO getById(Long id);
    void save(UserPO userPO);
     }

  4. BO (Business Object)
    业务对象,封装核心业务逻辑和状态,可能聚合多个PO或DTO。例如:

    public class UserService {
    private UserDAO dao;
    public void processOrder(UserDTO dto)
     { /*业务逻辑*/ }
    }

  5. DTO (Data Transfer Object)
    数据传输对象,用于跨层/跨系统传输数据,通常扁平化且无业务逻辑。例如分页请求或响应对象:

    public class PageRequestDTO {
     private int pageNo;
     private int pageSize;
    }

  6. POJO (Plain Old Java Object)
    普通Java对象,泛指所有符合Java类规范的对象,无框架依赖。PO、VO、DTO等均可称为POJO的子类‌。

分层架构中的位置‌:

  • PO/DAO位于基础设施层(Infrastructure)‌
  • DTO根据用途分布在通用模块或分层模块(如Web/Facade)‌
  • BO位于领域层(Domain)‌
  • VO位于Web层(Controller响应对象)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值