首页 > 解决方案 > Lombok @Builder 和 setter

问题描述

我的班级有 Lombok@Builder注释

@Builder
public class Employee {

  private String empId;
  private String empName;
  private String managerName;
}

setter在处理之后或在某些业务逻辑之后,我想通过使用类似的方法在同一个 Employee 对象中设置 managerNameempObj.setManagerName("managerName")

如何在 Lombok 的 Builder 中使用 setter 方法

标签: javalombok

解决方案


你有选择。查看Lombok 文档

如果您只想managerName拥有一个二传手:

使用龙目岛@SettermanagerName

@Setter
private String managerName;

如果您希望所有字段都有一个设置器:

您还可以在类上放置@Getter 和/或@Setter 注释。在这种情况下,就好像您使用注解对该类中的所有非静态字段进行了注解。

您还可以添加类级别的@Data注释。它为您提供了几个其他注释的组合效果,并且通常对 POJO 很有用。

请注意这一点,@Data并且@Builder彼此玩得有点粗糙,因为@Data删除了默认的无参数构造函数。因此,如果要保留@Builder,则需要添加显式@NoArgsConstructor.


推荐阅读