您的位置:首页 > 编程语言 > Java开发

Builgen 插件——IntelliJ IDEA和Eclipse Java Bean Builder模式代码生成器

2018-03-06 15:39 573 查看

Builgen-plugin

Builgen-plugin
介绍

用法
eclipse

IntelliJ IDEA

介绍

builder
模式在越来越多的项目中使用,类似于
alibaba fastjson JSONObject.fluentPut()
,调用一个方法后返回这个对象本身,特别适合构建一些参数超级多的对象,代码优雅且易读。构建一个对象变成了
SomeObject some = new SomeObject().a("a").b("b").c("c").biuld();


ItellJ IDEA
Eclipse
generator
只能生成传统的
getter setter
,后来
IDEA
新版本中可以选择
builder
模式,生成的
setter
方法不再返回
void
,而是返回对象本身,属于简易的
builder
模式,于是自己写了一个插件供参考,提供一种思路。

源码:Builgen-plugin

用法

eclipse

T测试环境:
JDK 1.8
+
Eclipse Oxygen Release (4.7.0)


复制
Builgen_1.0.0.201708310007.jar
eclipse
plugins
目录。

删除目录下的
eclipse\configuration\org.eclipse.update
文件夹.

重启
ecplise
加上
-clean
option(Windows:
cmd->cd $dir_eclipse.exe->run cmd 'eclipse -clean'
)。

创建一个
Java Bean


public class TestBean {
private String mes;
private int[] inteters;
private List<String> strings;
private List<Map<String, Object>> ddd;
private boolean klk;
private double dst;
}


在左侧文件管理器内右键对应文件,在末尾点击
Builgen




文件内容将被替换:

public class TestBean {
private String mes;
private int[] inteters;
private List<String> strings;
private List<Map<String, Object>> ddd;
private boolean klk;
private double dst;

public TestBean(TestBean testBean) {
this.mes = testBean.getMes();
this.inteters = testBean.getInteters();
this.strings = testBean.getStrings();
this.ddd = testBean.getDdd();
this.klk = testBean.getKlk();
this.dst = testBean.getDst();
}

public TestBean() {
}

public static class TestBeanBuilder {
TestBean testBean;

public TestBeanBuilder() {
testBean = new TestBean();
}

public TestBeanBuilder mes(String mes) {
testBean.setMes(mes);
return this;
}

public TestBeanBuilder inteters(int[] inteters) {
testBean.setInteters(inteters);
return this;
}

public TestBeanBuilder strings(List<String> strings) {
testBean.setStrings(strings);
return this;
}

public TestBeanBuilder ddd(List<Map<String, Object>> ddd) {
testBean.setDdd(ddd);
return this;
}

public TestBeanBuilder klk(boolean klk) {
testBean.setKlk(klk);
return this;
}

public TestBeanBuilder dst(double dst) {
testBean.setDst(dst);
return this;
}

public TestBean build() {
return new TestBean(this.testBean);
}
}

public void setDst(double dst) {
this.dst = dst;
}

public double getDst() {
return this.dst;
}

public void setKlk(boolean klk) {
this.klk = klk;
}

public boolean getKlk() {
return this.klk;
}

public void setDdd(List<Map<String, Object>> ddd) {
this.ddd = ddd;
}

public List<Map<String, Object>> getDdd() {
return this.ddd;
}

public void setStrings(List<String> strings) {
this.strings = strings;
}

public List<String> getStrings() {
return this.strings;
}

public void setInteters(int[] inteters) {
this.inteters = inteters;
}

public int[] getInteters() {
return this.inteters;
}

public void setMes(String mes) {
this.mes = mes;
}

public String getMes() {
return this.mes;
}
}


IntelliJ IDEA

测试环境:
JDK 1.8
+
INTELLIJ IDEA COMMUNITY 2017.2.1


下载Builgen.jar

File -> Settings -> plugins -> Install Plugins From Disk
,选择下载的
jar
包并重启
IDEA


创建
Java Bean
在编辑器内右键呼出上下文菜单,然后点击
Generate -> Builgen
.



Eclipse
输出结果一样,但是
Builder
类少了
static
,实在没找到
IDEA
插件能在那里加上这个修饰符,所以目前只能手动加。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息