定义一个由builder来构造的实体类
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* description: Java Builder模式练习
* @version v1.0
* @author w
* @date 2021年7月7日上午11:37:49
**/
@AllArgsConstructor
@Data
@NoArgsConstructor
public class User {
private String id ;
private String name ;
private Integer age ;
public static Builder builder(){
return new Builder();
}
public static class Builder{
private String id ;
private String name ;
private Integer age ;
public Builder id(String id) {
this.id = id ;
return this;
}
public Builder name(String name) {
this.name = name ;
return this ;
}
public Builder age(Integer age) {
this.age = age ;
return this;
}
public User build() {
return new User(this);
}
public User build2() {
return new User(this.id , this.name , this.age);
}
}
public User(Builder builder) {
this.id = builder.id;
this.name = builder.name ;
this.age = builder.age;
}
}
public class TestBuilder {
public static void main(String[] args) {
User user = User.builder().id("1").name("xiaoming").age(18).build();
System.out.println(user);
}
}