在我们的Java开发过程中会遇到很多的VO、DTO、DO、PO,BO它们分别是什么含义呢?
DTO:全称Data Transfer Object,用来表示一个数据传输对象。
- 用处一:我们在Controller写了一个接口之后,是不是可以让前端页面来进行调用,也可以让其他程序来进行调用,它们在调用我们的Controller里面定义的接口的时候,给我们传输过来的数据就叫DTO。
- 用处二:Controller层在调用完Service层处理完业务逻辑之后,需要给调用方返回数据,如果这个调用方是其他程序,那么我们就会把返回的数据封装到DTO里面返回。
BO:全称Business Object,用来表示一个业务对象。
Controller层会调用Service层,做一些业务逻辑的处理,而做业务逻辑的处理当中就可以把这个对象的属性做一些拓展,或者删除,这里就涉及到了BO。
PO:全称Persistant Object,用来表示数据库中的一条记录映射成的一个java对象。
用途:Service层会调用DAO层和数据库进行交互,将数据封装到PO对象存入数据库,以及将数据库数据查询出来存入PO对象,所以PO对象是和数据库表对应,数据库中的一条记录对应一个PO对象。
VO:全称View Object,Controller层在调用完Service层处理完业务逻辑之后,需要给调用方返回数据,如果这个调用方是一个前端页面,那么我们就会把返回的数据封装到VO里面返回。
DO:Data Object,用来表示数据对象,从中间件或其他第三方接口查询到的数据封装为DO对象,比如从Redis查询得到数据封装为DO对象,从ElasticSearch查询得到数据封装为DO对象,从Solr查询得到数据封装为DO对象。
POJO:全称Plain Ordinary Java Object,表示一个简单的Java对象。