版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012557538/article/details/82801520
使用Builder模式时,相对于平时写一个Bean,会多出许多工作量,当成员属性多时,是一个很头疼的事,在插件中心找到一个可以自动生成Builder模式的插件,Eclipse插件网址:http://marketplace.eclipse.org/content/spark-builder-generator,这里我选择在线安装的形式,打开eclipse的markplace,输入builder即可查找到
安装重启即可。
然后在eclipse的设置里,可以自定义生成builder模式的模板形式
r
然后最关键的问题,来了如何使用呢???
新建一个类
public class Man {
private Long id;
private String name;
private Integer age;
private Float weight;
private String addr;
private Boolean male;
}
声明所需要的属性,光标在这个类内,然后点击工具栏的builder generator图标即可自动生成
最终自动生成的类详情如下:
import javax.annotation.Generated;
public class Man {
private Long id;
private String name;
private Integer age;
private Float weight;
private String addr;
private Boolean male;
@Generated("SparkTools")
private Man(Builder builder) {
this.id = builder.id;
this.name = builder.name;
this.age = builder.age;
this.weight = builder.weight;
this.addr = builder.addr;
this.male = builder.male;
}
/**
* Creates builder to build {@link Man}.
* @return created builder
*/
@Generated("SparkTools")
public static Builder builder() {
return new Builder();
}
/**
* Builder to build {@link Man}.
*/
@Generated("SparkTools")
public static final class Builder {
private Long id;
private String name;
private Integer age;
private Float weight;
private String addr;
private Boolean male;
private Builder() {
}
public Builder withId(Long id) {
this.id = id;
return this;
}
public Builder withName(String name) {
this.name = name;
return this;
}
public Builder withAge(Integer age) {
this.age = age;
return this;
}
public Builder withWeight(Float weight) {
this.weight = weight;
return this;
}
public Builder withAddr(String addr) {
this.addr = addr;
return this;
}
public Builder withMale(Boolean male) {
this.male = male;
return this;
}
public Man build() {
return new Man(this);
}
}
}
完毕。