数据交互之set方法的调用
前端传值时set方法的调用
封装页面代码
package cn.bz.backlog.dto;
public class Page {
private Integer code;
private String msg;
private Object data;
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public Object getData() {
return data;
}
public void setData(Object data) {
this.data = data;
}
public static Page success(Object data) {
Page page = new Page();
page.setMsg("成功");
page.setCode(200);
page.setData(data);
return page;
}
}
实体类,给属性设置默认值
package cn.bz.backlog.dto;
public class UserLog {
// 前端不传值得时候设置默认值,
private String name = "gao";
private Integer age;
private String address;
public UserLog() {
System.out.println("调用无参构造函数");
}
public String getName() {
System.out.println("执行了getName()");
return name;
}
public void setName(String name) {
System.out.println("执行了setName(String name)");
this.name = name;
}
public Integer getAge() {
System.out.println("执行了getAge()");
return age;
}
public void setAge(Integer age) {
System.out.println("执行了setAge(Integer age)");
this.age = age;
}
public String getAddress() {
System.out.println("执行了getAddress()");
return address;
}
public void setAddress(String address) {
System.out.println("执行了setAddress(String address)");
this.address = address;
}
@Override
public String toString() {
return "UserLog{" +
"name='" + name + '\'' +
", age=" + age +
", address='" + address + '\'' +
'}';
}
}
接口设计
/**
* 测试 接口
*/
@RequestMapping(value = "test10",method = {RequestMethod.POST})
// 先通过无参构造new对象,在调用set方法
public Page test10(@RequestBody UserLog userLog) {
System.out.println(userLog);
UserLog userLog1 = new UserLog();
System.out.println(userLog1);
System.out.println("------------------");
System.out.println(userLog.hashCode());
System.out.println(Page.success(userLog).getData().hashCode());
return Page.success(userLog);
}
对于不同情况的返回结果,以及控制台打印
总结
- 前端多传字段不会报错
- 前端少传字段使用类型的默认值
- 前端传null,或者不传,不调用set方法
- 前端传值调用set方法
- 对属性返回会依次调用get方法