builder 模式的代码 手写的话不是不可能,字段多了 就恶心了,下面就会看到,长话短说,IEDA 安装 builder 插件 首先Idea 快捷键Ctrl +alt+s 打开preference 找Plugins
弹出来一个窗口 搜索InnerBuilder 点击右边的 install 就完了,等待下载完成,重启idea。进入我们写好的类,点击鼠标右键,选择Generate 下面有一个builder,选择想要的属性。体验优雅的代码
然后说一下Java中设计模式 ,提到设计模式,懂得人说:“代码变得更优雅,更好看”,不懂得人看了一脸懵逼,那就说一下builder模式吧,对于一些拥有特变多的类来说特别方便,为了使这个类,我们通常情况下会给这个类多个构造器以及一个默认的无参数构造器。
很多编译器有generate快捷键,可以快速生成一个含有该类属性的constructor, 但是当参数的个数比较多的时候,经常会传错。当然有人会说每个属性调用set方法不就完了么,那么你代码会变成一坨,不如点出来代码优雅,看下面的例子,build的优点儿就体现出来了。
pojo Test
public class Test { private String a; private String b; private String c; private String d; private String e; private String f; public Test(){ } private Test(Builder builder) { a = builder.a; b = builder.b; c = builder.c; d = builder.d; e = builder.e; f = builder.f; } public static Builder newBuilder() { return new Builder(); } public static Builder newBuilder(Test copy) { Builder builder = new Builder(); builder.a = copy.a; builder.b = copy.b; builder.c = copy.c; builder.d = copy.d; builder.e = copy.e; builder.f = copy.f; return builder; } public static final class Builder { private String a; private String b; private String c; private String d; private String e; private String f; private Builder() { } public Builder a(String val) { a = val; return this; } public Builder b(String val) { b = val; return this; } public Builder c(String val) { c = val; return this; } public Builder d(String val) { d = val; return this; } public Builder e(String val) { e = val; return this; } public Builder f(String val) { f = val; return this; } public Test build() { return new Test(this); } } public String getA() { return a; } public void setA(String a) { this.a = a; } public String getB() { return b; } public void setB(String b) { this.b = b; } public String getC() { return c; } public void setC(String c) { this.c = c; } public String getD() { return d; } public void setD(String d) { this.d = d; } public String getE() { return e; } public void setE(String e) { this.e = e; } public String getF() { return f; } public void setF(String f) { this.f = f; } }
测试 TestBuilder
public class TestBuilder { public static void main(String[] args) { //非builder模式 Test test =new Test(); test.setA("1"); test.setB("2"); test.setC("3"); test.setD("4"); test.setE("5"); test.setF("6"); //builder模式 Test test1=Test.newBuilder().b("1").a("2").c("3").d("4").e("5").f("6").build(); } }
看起来build模式 是不是很优雅。
相关推荐
《IntelliJ IDEA插件:Builder Generator Idea Plugin详解》 IntelliJ IDEA,作为一款深受开发者喜爱的Java集成...如果你是IntelliJ IDEA的忠实用户,不妨尝试一下这个插件,让Builder模式的运用变得更加得心应手。
安装Lombok插件后,开发者在IDEA中编写Java类时,可以直接使用Lombok提供的注解,例如`@Data`、`@Getter`、`@Setter`等。`@Data`是一个组合注解,包含了`@ToString`、`@EqualsAndHashCode`、`@Getter`(对所有字段)...
GoBuilderGenerator IntelliJ IDEA / GoLand插件,用于从选定的结构代码生成Go结构的Builder模式代码。如何安装在IntelliJ IDEA / GoLand中:转到Settings/Preferences → Plugins → Browse repositories并搜索Go ...
- `@Builder`:允许你为类创建一个构建者模式,方便创建复杂对象。 - `@ToString` 和 `@EqualsAndHashCode`:覆盖默认的toString()和equals()方法,可以根据需要指定包含哪些字段。 使用Lombok时,要注意的一点是,...
Builder模式常用于复杂对象的构建,它提供了更好的可读性和可维护性,同时避免了构造函数参数过多的问题。 ### 5. 注释的自动添加 在生成getter和setter,以及allsetter和allbuilder方法时,插件会自动添加注释,...
8. `@Builder`:用于创建类的 builder 模式,方便构建复杂对象。 使用 Lombok 插件的好处在于,它可以在编写代码时提供代码补全和错误检查。例如,当你在 IDE 中添加了 `@Data` 注解,IDEA 会自动识别并高亮显示...
### IDEA Lombok插件安装与配置 1. **安装**: 在IDEA中,可以通过"File" -> "Settings" -> "Plugins"进入插件市场,搜索"Lombok Plugin"进行安装。安装完成后重启IDEA即可生效。 2. **配置**: 需要在IDEA的设置中...
8. `@Builder`: 为类提供一个builder模式的构造方式,方便创建复杂对象。 9. `@Log` (如:`@Log4j`, `@Slf4j`, `@CommonsLog`): 自动引入日志记录器,简化日志记录代码。 安装并启用Idea Lombok插件后,你可以直接...
首先,我们需要在IDEA中安装Lombok插件。这可以通过IDEA的设置或首选项来完成,搜索"Lombok"并安装。安装完成后,重启IDEA,插件将自动生效。确保你的项目也引入了Lombok库,通常通过Maven或Gradle的依赖管理来实现...
**Idea Lombok插件安装与配置** 要在IntelliJ IDEA中使用Lombok,首先需要安装Lombok插件。这可以通过IDE的插件市场进行,搜索“Lombok”后点击安装,然后重启IDE即可。为了使IDE能够识别并处理Lombok注解,还需要...
3. **site.xml**: 这是Eclipse插件站点的配置文件,用于定义插件的版本、依赖关系和安装信息,使得用户可以通过Eclipse的更新管理器来安装或升级插件。 4. **features**和**plugins**目录:这两个目录通常在Eclipse...
- 重启IDEA后,新建或打开一个包含Lombok注解的Java项目,如果插件安装成功,IDEA应该能正确识别并高亮显示这些注解。 5. **引入Lombok依赖**: - 在项目的`pom.xml`(Maven项目)或`build.gradle`(Gradle项目)...
BuilderPojoGeneratoridea(android studio)的插件,以生成构建器模式的Java代码下载在插件存储库中搜索“ BuilderPojoGenerator”如何使用输入POJO的代码,右键单击,选择“ Builder Generator”,更改选项,然后...
"intellij-idea-generate-chained-accessors" 是一个IntelliJ IDEA的插件,它自动化了getter、setter和builder方法的生成过程,特别是针对当前类的所有字段。这个插件最初是在Google Code上托管的,但现在可能已经...
3. **Builder模式**: `@Builder`注解可以创建一个构造对象的Builder模式,简化创建复杂对象的过程。 4. **日志注入**: `@Log4j`或`@Slf4j`等注解可以自动引入对应日志框架的日志变量,无需手动创建。 ### 注意事项...
这个压缩包包含了该插件的所有必要文件,以便在IDEA 2019.3中安装和使用。 描述中提到的“适用于IDEA2019.3”,意味着这个插件是专门为IntelliJ IDEA 2019.3版定制的,确保与该版本IDEA的兼容性,使得开发者可以在...
安装Lombok插件后,开发者可以直接在IDE中预览和编辑使用Lombok注解的类,而无需担心编译错误或缺少方法的问题。此外,该插件还提供了对其他Lombok扩展功能的支持,如`@Accessors`、`@Wither`和`@Value`等。 总的来...
- `@Builder`:用于创建类的构建器模式,方便通过链式调用来构建复杂对象。 - `@Log`(例如`@Log4j`, `@Slf4j`, `@CommonsLog`):自动导入日志库并生成一个日志实例变量,简化日志记录。 5. 注意事项: - 使用...
此外,`@Builder` 注解允许创建一个 builder 模式,使得复杂对象的构建变得简单而清晰。`@Log4j` 或 `@Slf4j` 等注解则可以方便地引入日志记录功能,无需手动导入或配置日志框架。 在安装了 Lombok 插件的 IntelliJ...
Lombok还提供了其他实用注解,如@Log(用于自动创建日志对象),@Builder(用于构建者模式),@Synchronized(同步方法)等。这些注解使得开发者可以更加专注于业务逻辑,而不是重复的基础设施代码。 总之,Lombok...