Idea生成Builder代码-插件Builder Generator

为啥使用

最近在搞项目重构,就是请求的Request都走builder模式…
体力活,如果自己一个一个写,就很麻烦,这时候就要使用插件了…

插件

当时搜索builer,出来很多,好像是第一个吧,下载的比较多…
在这里插入图片描述
安装完成后重启

使用

以前实体类生成构造方法,或者getset方法的时候,使用的快捷键是alt+insert,同样,现在生成Builder类也是这个快捷键;

在这里插入图片描述
可以看见多了个Builder…然后生成,可以修改前缀,和类名,用的比较多的就是innerBuilder那个复选框,就是在当前类的内部生成静态内部类…
在这里插入图片描述
在这里插入图片描述

这是比较通用的,具体根据自己的公司习惯再去修改修改.
举个栗子:
我们builder构建走静态create方法,这时候应该让user是不可变的,是保持valid状态的;生成的是anUser,然后方法参数都是必传参数;必传参数就是final,User类的属性就全部是final;跟生成的还是有区别的
然后就要修改修改:

public class User {

  private final String name;

  private final String password;

  public User(UserBuilder builder) {
    this.name = builder.name;
    this.password = builder.password;
  }

  public String getName() {
    return name;
  }

  public String getPassword() {
    return password;
  }

  public static final class UserBuilder {
    private final String name;
    private String password;

    private UserBuilder(String names) {
      this.name = names;
    }

    //构建参数是必传参数
    public static UserBuilder create(String name) {
      return new UserBuilder(name);
    }

    public UserBuilder withPassword(String password) {
      this.password = password;
      return this;
    }

    public User build() {
      return new User(this);
    }
  }

  public static void main(String[] args) {
    User aaa = UserBuilder.create("aaa").withPassword("123").build();
    System.out.println(aaa.getName());
  }
}

世界上所有的不公平都是由于当事人能力不足造成的.
原文地址:https://www.cnblogs.com/javayida/p/13346751.html