Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Spring Boot开发中,经常听到的PO、VO、DAO、BO、DTO、POJO到底是什么?

Spring Boot开发中,经常听到的PO、VO、DAO、BO、DTO、POJO到底是什么?

原创
作者头像
网络技术联盟站
发布于 2023-06-02 16:30:14
发布于 2023-06-02 16:30:14
5K0
举报

Spring Boot开发中,我们经常会听到诸如PO、VO、DAO、BO、DTO、POJO等概念。这些术语看起来很相似,但它们之间有着不同的含义和用途。在本文中,我们将详细介绍这些概念,并解释它们在Spring Boot开发中的作用和用法。

PO(Persistent Object)

PO是持久化对象的缩写,是一种表示持久化数据的Java类。在Spring Boot应用程序中,PO通常用于表示数据库中的表结构,每个PO都对应一个数据库表,其中包含了该表的属性和方法等信息。

例如,我们可以定义一个UserPO类来表示用户表:

代码语言:java
AI代码解释
复制
public class UserPO {
    private Long id;
    private String username;
    private String password;
    // getters and setters...
}

VO(View Object)

VO是视图对象的缩写,是一种表示展示数据的Java类。在Spring Boot应用程序中,VO通常用于封装界面显示所需的数据,使得界面与后端服务解耦。

例如,我们可以定义一个UserVO类来表示用户信息的展示数据:

代码语言:java
AI代码解释
复制
public class UserVO {
    private String username;
    private Integer age;
    // getters and setters...
}

DAO(Data Access Object)

DAO是数据访问对象的缩写,是一种抽象出数据访问层的Java类。在Spring Boot应用程序中,DAO通常用于封装数据访问逻辑,以便在业务逻辑中使用。

例如,我们可以定义一个UserDAO接口来封装用户数据的增删改查操作:

代码语言:java
AI代码解释
复制
public interface UserDAO {
    UserPO getById(Long id);
    void save(UserPO userPO);
    void update(UserPO userPO);
    void deleteById(Long id);
}

BO(Business Object)

BO是业务对象的缩写,是一种表示业务相关的Java类。在Spring Boot应用程序中,BO通常用于封装业务逻辑,使得业务逻辑与其他模块解耦。

例如,我们可以定义一个UserService类来封装用户业务逻辑:

代码语言:java
AI代码解释
复制
@Service
public class UserService {
    @Autowired
    private UserDAO userDAO;

    public UserDTO getUserById(Long id) {
        UserPO userPO = userDAO.getById(id);
        UserDTO userDTO = convertPOToDTO(userPO);
        return userDTO;
    }

    public void addUser(UserDTO userDTO) {
        UserPO userPO = convertDTOToPO(userDTO);
        userDAO.save(userPO);
    }

    // other business methods...
}

DTO(Data Transfer Object)

DTO是数据传输对象的缩写,是一种表示数据传输的Java类。在Spring Boot应用程序中,DTO通常用于封装数据传输逻辑,主要用于不同模块之间的数据传输。

例如,我们可以定义一个UserDTO类来封装用户数据的传输信息:

代码语言:java
AI代码解释
复制
public class UserDTO {
    private String username;
    private Integer age;
    // getters and setters...
}

POJO(Plain Old Java Object)

POJO是纯Java对象的缩写,是一种表示普通Java类。在Spring Boot应用程序中,POJO通常用于表示业务领域实体、请求参数和响应结果等。

例如,我们可以定义一个Book类来表示图书信息:

代码语言:java
AI代码解释
复制
public class Book {
    private Long id;
    private String name;
    private String author;
    private String isbn;
    // getters and setters...
}

总结

在Spring Boot开发中,PO、VO、DAO、BO、DTO、POJO等概念都是非常重要的。它们各自有着不同的含义和用途,可以帮助我们更好地组织代码、分离关注点,以及提高代码可维护性和可

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
PO、VO、BO、DO、DAO、DTO、POJO
在实际编码过程中,将这些术语应用到项目中需要遵循一定的规范。例如,PO(持久化对象)通常用于表示与数据库交互的对象,VO(值对象)用于传递简单的值,BO(业务对象)处理业务逻辑,DO(领域对象)表示领域模型,DAO(数据访问对象)处理数据访问,DTO(数据传输对象)管理数据传输,而POJO(普通旧Java对象)则是简单的Java对象。
默 语
2024/11/20
1370
DTO、TO、VO、PO、DO、BO、AO、DAO、POJO
之前一直有朋友问我Java中DTO、TO、VO、PO、DO、BO、AO、DAO、POJO这么多O到底是什么意思,看博客看不懂,有没有实际的例子
阿超
2022/08/16
1.5K0
Java开发中PO、VO、DAO、BO、DTO、POJO 含义
可以看成是与数据库中的表相映射的java对象。使用 Mybatis 来生成 PO 是不错的选择。
程序员NEO
2023/10/12
9350
Java开发中PO、VO、DAO、BO、DTO、POJO 含义
什么是JavaBean、bean? 什么是POJO、PO、DTO、VO、BO ? 什么是EJB、EntityBean?
在Java开发中经常遇到这些概念问题,有的可能理解混淆,有的可能理解不到位,特此花了很多时间理顺了这些概念。不过有些概念实际开发中并没有使用到,可能理解还不够准确,只能靠后续不断纠正了。
全栈程序员站长
2022/09/01
4K0
springboot第6集:PO、VO、DAO、BO、DTO、POJO 能分清吗?
需要注意的是,这些缩写词的具体定义可能因项目而异,因此在具体项目中应该根据团队约定和实际需求来使用。
达达前端
2023/10/08
1.1K0
PO、VO、DAO、BO、DTO、POJO能分清吗?
可以看成是与数据库中的表相映射的java对象。使用Hibernate来生成PO是不错的选择。
码农架构
2021/03/21
1.1K0
PO、VO、DAO、BO、DTO、POJO能分清吗?
浅谈VO、DTO、DO、PO和POJO的概念、用途及使用
在目前互联网框架中,我们听得最多的三层架构,主要有controller、serivce、dao,所以就引入了一系列的按照包命名来区分各层次,比如entity、web、dao....,那么再细分还有VO、DTO、DO、PO...,今天就大概了解了一下,做个笔记~
Lcry
2022/11/29
6.8K0
浅谈VO、DTO、DO、PO和POJO的概念、用途及使用
详述 PO VO BO DTO DAO 和 POJO 的概念及区别
本文介绍了 PO、VO、BO、DTO、DAO 和 POJO 的概念及区别,包括它们的定义、使用场景和优缺点。同时,还探讨了在项目中如何灵活运用这些概念,以充分发挥它们的优点,提高开发效率和代码质量。
CG国斌
2018/01/08
2.1K0
详述 PO VO BO DTO DAO 和 POJO 的概念及区别
POJO、PO、DTO、DAO、BO、VO
全称为:Plain Ordinary Java Object,即简单普通的java对象。一般用在数据层映射到数据库表的类,类的属性与表字段一一对应。
yaphetsfang
2020/11/26
6510
2019-04-01 POJO PO BO DO DTO VO的区别分别代表什么含义
POJO PO BO DO DTO VO 概述 缩写 全称 中文 功能 说明 POJO plain ordinary java object 无规则简单java对象 中间对象,与其他对象转换 PO persistent object 持久对象 数据对象对应数据库中的entity BO business object 业务对象 封装业务逻辑对象 VO value object / view object 表现层对象 封装视图层对象 DTO data transfer object 数据传输对象 跨进程或远程传输 DO domain object 领域对象 从现实世界中抽象出来的有形或无形的业务实体 DAO data access object 数据访问对象 封装对数据库访问对象 问题 为什么项目中要存在多种对象,多种对象直接需要相互转换,是否无用? 举例:数据插入操作 HTTP: (Controller 层 )VO 对象 --> (Service 层) BO 对象 --> (DAO 层) PO 对象 --> DAO 对象 RPC : (RPC 接口)DTO 对象 --> --> (Service 层) BO 对象 --> (DAO 层) PO 对象 --> DAO 对象 回答: 世界上有大狗(可以看家护院)的存在也有小狗存在的必要,没有一种事务的存在是没有理由的 代码中不同的层次需要使用不同的对象,使用不同的对象是为了更好的理解业务及解决问题 举例: PO / DO 对象通常对应数据表实体映射对象;如果没有BO对象,此时业务需求需要将时间格式化后展示,需要在PO类中增加属性,但增加的属性却不是表中应有的字段,使PO类的含义发生了变化 如设计活动,活动实体是一张表,活动页面样式、活动优惠等等又是一张表,在将数据返给前端时,前端不需要知道后端是几张表的实现,只需要知道解析这个对象中的相关属性即可;此时需要BO对象来中转,BO对象对应多个PO对象 有这种疑问通常是BO与PO对象的属性完全没有区别,此时需要考虑程序业务逻辑,是否需要将查询结果全部返回给调用方 参考资料 PO/POJO/BO/DTO/VO的区别 Java中PO、BO、VO、DTO、POJO、DAO概念及其作用和项目实例图(转) Java中DO/BO/DTO/VO/AO/PO
Albert陈凯
2019/04/09
2.3K0
一款 IDEA 插件帮你优雅转化 DTO、VO、BO、PO、DO
POJO 的定义是无规则简单的对象,在日常的代码分层中 pojo 会被分为VO、BO、 PO、 DTO VO (view object/value object)表示层对象 1、前端展示的数据,在接口数据返回给前端的时候需要转成VO 2、个人理解使用场景,接口层服务中,将DTO转成VO,返回给前台 B0(bussines object)业务层对象 1、主要在服务内部使用的业务对象 2、可以包含多个对象,可以用于对象的聚合操作 3、个人理解使用场景,在服务层服务中,由DTO转成BO然后进行业务处理后,转成DT
java思维导图
2022/05/23
9440
一款 IDEA 插件帮你优雅转化 DTO、VO、BO、PO、DO
entity、bo、vo、po、dto、pojo如何理解和区分?
Java开发过程中,基本实体类包都以entity或者model来称呼,可是不少项目中,却以Bo、Vo来命名,面试的时候,也有可能被问到这些问题。那么,这几者分别代表什么意思呢?
Erwin
2020/05/14
4.9K0
java vo 什么意思_在Java中VO , PO , BO , QO, DAO ,POJO是什么意思
O/R Mapping是Object Relational Mapping(对象关系映射)的缩写。简单来说,就是将对象和关系数据库绑定,用对象来表示关系数据。
全栈程序员站长
2022/08/24
2.6K0
java vo 什么意思_在Java中VO , PO , BO , QO, DAO ,POJO是什么意思
一款 IDEA 插件帮你优雅转化 DTO、VO、BO、PO、DO
POJO 的定义是无规则简单的对象,在日常的代码分层中 pojo 会被分为VO、BO、 PO、 DTO ◆ VO (view object/value object)表示层对象 1、前端展示的数据,在接口数据返回给前端的时候需要转成VO 2、个人理解使用场景,接口层服务中,将DTO转成VO,返回给前台 ◆ B0(bussines object)业务层对象 1、主要在服务内部使用的业务对象 2、可以包含多个对象,可以用于对象的聚合操作 3、个人理解使用场景,在服务层服务中,由DTO转成BO然后进行业务处理后,
IT大咖说
2022/04/28
1.2K0
一款 IDEA 插件帮你优雅转化 DTO、VO、BO、PO、DO
Java中 VO、 PO、DO、DTO、 BO、 QO、DAO、POJO的概念
PO(persistant object) 持久对象 在 o/r 映射的时候出现的概念,如果没有 o/r 映射,没有这个概念存在了。通常对应数据模型 ( 数据库 ), 本身还有部分业务逻辑的处理。可以看成是与数据库中的表相映射的 java 对象。最简单的 PO 就是对应数据库中某个表中的一条记录,多个记录可以用 PO 的集合。 PO 中应该不包含任何对数据库的操作。 DO(Domain Object)领域对象 就是从现实世界中抽象出来的有形或无形的业务实体。一般和数据中的表结构对应。 TO(Transfer
一枝花算不算浪漫
2018/05/18
2.1K0
PO,VO,DAO,BO,POJO一脸懵?一张图给你解释清楚
用于表示前端的展示对象;相比与PO(数据库映射对象),VO对象与前端交互的数据可能需要经过过滤、拆分、聚合等操作;比方说部分不需要展示的数据,VO层将其踢出后返回;如果数据来源于多个地方,也将会在VO对象进行聚合再返回等操作;
一行Java
2022/04/07
2.4K0
PO,VO,DAO,BO,POJO一脸懵?一张图给你解释清楚
PO,VO,DAO,BO,POJO 之间的区别你懂吗?
对应数据库中表的字段。VO 和 PO 都是属性加上属性的 get 和 set 方法;表面看没什么不同,但代表的含义是完全不同的。
芋道源码
2021/01/08
1.4K0
PO,VO,DAO,BO,POJO 之间的区别你懂吗?
DO、DTO、BO、AO、VO、POJO定义和转换的正确姿势
DO、DTO、BO、AO、VO、POJO的概念看似简单,但是想区分好或者理解好也不容易,本文简单梳理一下。
明明如月学长
2021/08/31
4K0
PO/POJO/BO/DTO/VO的概念与区别
封装业务逻辑为一个对象(可以包括多个PO,通常需要将BO转化成PO,才能进行数据的持久化,反之,从DB中得到的PO,需要转化成BO才能在业务层使用)。 关于BO主要有三种概念 :
用户10325771
2023/03/01
9070
作为架构师,你必需要搞清楚的概念:POJO、PO、DTO、DAO、BO、VO
POJO、PO、DTO、DAO、BO、VO这些概念作为Java开发来说应该全部或者部分遇到过,作为架构师的你想必更是清楚这些概念在不同场景的应用。 下面我逐一介绍一下,想必你会更深刻。 POJO 全称为:Plain Ordinary Java Object,即简单普通的java对象。一般用在数据层映射到数据库表的类,类的属性与表字段一一对应。 PO 全称为:Persistant Object,即持久化对象。可以理解为数据库中的一条数据即一个BO对象,也可以理解为POJO经过持久化后的对象。 DTO 全称
Java技术栈
2018/03/29
1.3K0
推荐阅读
相关推荐
PO、VO、BO、DO、DAO、DTO、POJO
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档