import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**系统返回值对象*/
@Data
@Accessors(chain = true) //链式加载
@NoArgsConstructor
@AllArgsConstructor
public class SysResult implements Serializable {
private Integer status; //定义状态信息 200业务处理成功, 201业务处理失败.
private String msg; //服务器返回的提示信息.
private Object data; //服务器返回业务数据.
//封装一些静态API 简化用户调用过程.
public static SysResult fail(){
return new SysResult(201,"服务器调用失败",null);
public static SysResult success(){
return new SysResult(200, "业务执行成功!!!", null);
public static SysResult success(Object data){
return new SysResult(200, "业务执行成功!!!", data);
package com.jt.vo;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;import lombok.experimental.Accessors;import java.io.Serializable;/**系统返回值对象*/@Data@Accessors(chain = true) //链式加载@NoArgsConstructor@AllArgsCo
vo
(value object):值
对象
,又称表现层
对象
,对应展示界面的数据
对象
。比如一个前台展示的数据列表,这个列表中的姓名和用户名分别是存在于两个表中的数据,此时数据显示时查询语句用到了多表查询sql,查询出来的数据包含了两个表的字段,此时使用一个JavaBean实体类无法存储返回结果中两个表的数据字段,因此将这两个表中使用到的字段或属性重新封装为一个新的JavaBean,这个JavaBean就叫做
vo
。通俗来说,
vo
就是一个自定义的、多个表的属性或字段的集合。
下面需求是一个多级列表的查询
BO:business object:业务
对象
主要作用是把业务逻辑封装为一个
对象
。这个
对象
可以包括一个或多个其它的
对象
。
比如一个简历,有教育经历、工作经历、社会关系等等。
我们可以把教育经历对应一个PO,工作经历对应一个PO,社会关系对应一个PO。
package com.yzx.operateplatform.
vo
;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModelProperty;
* @author yuanshushu
* @date 2018/8/29
* @description...
比如 list 如果Order对应表很大,比如40 50个字段传过来list就可能相对较大
从vmware 等软件可以看到gc比较高
这时候可以使用一个
vo
存储
返回值
,只把需要的几个字段取出来放里面就行了
也能减少网络传输开支,和对内存的占用。
二、
VO
:value object值
对象
。
通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已。但应是抽象出的业务
对象
可以和表对应,也可以不,这根据业务的需要.
有一种观点就是:PO只能用在数据层,
VO
用在商业逻辑层和表示层。各层操...
公司中有一个业务,返回的
vo
中的一个值可能为 0 属性,如果为 0 给用户显示成 1;
听起来很简单,直接改代码 service 层的代码就行了,但是如果 service 层的逻辑复杂到一定程度,想要改动就不是那么容易了,如图:
考虑对 rpc 接口返回的影响、 es 数据库(我们 es 要求存的数据尽量好数据库一样)的影响,是典型牵一发而动全身;
我写了一版上面图上的改动,反复校验确定影响,做好回归测试准备之后,提交上了代码,并跟领导阐述了影响范围;
领导眉头一皱,你还是改
async function getData() {
const response = await fetch('https://example.com/data');
const data = await response.json();
return data;
getData().then(data => {
console.log(data);
在上面的例子中,getData函数是一个异步函数,它使用fetch方法获取数据,并将数据解析为JSON格式。然后,它返回解析后的数据。在调用getData函数时,我们可以使用then方法来获取返回的数据。