Lombok 使用记录

Lombok 使用记录

官方文档地址

官方地址

介绍

项目lombok是一个帮助消除冗余代码的java工具库

lombok 常用注解

注解作用
@Data注解在类上,提供类所有属性的 getting 和 setting方法,此外还提供了equals,canEqual,hashCode,toString方法
@Setter注解在属性上,为属性提供setting方法
@Setter注解在属性上,为属性提供 getting 方法
@Log4j注解在类上,为类提供一个属性名为log的 log4j日志对象
@NoArgsConstructor注解在类上,为类提供一个无参的构造方法
@AllArgsConstructor注解在类上,为类提供一个全参的构造方法
@Cleanup可以关闭流
@Builder被注解的类加个构造者模式
@Synchronized加个同步锁
@SneakyThrows等同于try/catch 捕获异常
@NonNull给参数加个这个注解,如果参数为null会抛出空指针异常
@Value注解和@Data类似,区别在于它会把所有成员变量默认定义为private,final修饰,并且不会生成set方法
@ToString需让lombok为您生成一个toString方法
@EqualsAndHashCode从对象的字段生成hashCode和equals实现
@With注解在属性上,根据传入参数clone 一个对象,如果参数一直返回原对象
val非注解,局部final变量
var非注解,局部变量
@Accessors(chain = true)链式构建

lomok进阶使用

链式构建@Accessors(chain = true)

 PushLogDTO pushLogDTO  = new PushLogDTO().setCode("test").setDetail("推送记录");

Builder模式 @Builder

    PushLogDTO pushLogDTO  = PushLogDTO.builder().code("test").detail("推送详情").build();
@Singular 一同使用
     @Singular private Set<String> occupations;
    //单独增加collection一个参数的方法
    public BuilderExampleBuilder occupation(String occupation) {
      if (this.occupations == null) {
        this.occupations = new java.util.ArrayList<String>();
      }
      
      this.occupations.add(occupation);
      return this;
    }
    
    //增加整个collection参数的方法
    public BuilderExampleBuilder occupations(Collection<? extends String> occupations) {
      if (this.occupations == null) {
        this.occupations = new java.util.ArrayList<String>();
      }

      this.occupations.addAll(occupations);
      return this;
    }

静态构建方式@RequiredArgsConstructor(staticName = “construct”)

 PushLogDTO pushLogDTO= PushLogDTO.construct();
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值