问题引入
例如Person类有以下属性:
/**
* @author 爱飘de小子
* @date 2018年11月24日 下午2:28:23
* @version 1.0
*/
@Data
public class Person {
//必要属性
private String id;
private String name;
//非必要属性
private String address;
private String gender;
private Integer age;
public Person() {
}
public Person(String id, String name, String address, String gender, Integer age) {
this.id = id;
this.name = name;
this.address = address;
this.gender = gender;
this.age = age;
}
}
注: get和set方法采用lombok插件的注解@Data生成(其中无参构造器可以用@NoArgsConstructor注解,有参构造器可以通过@AllArgsConstructor注解生成)
当客户端要创建一个Person实例时,传统的方式会这样创建:
//方式一
Person person = new Person();
person.setId("1");
person.setName("爱飘de小子");
person.setAge