Lombok使用介绍

Lombok各注解使用

@Getter和@Setter 

 可以使用AccessLevel.PROTECTED配置访问级别为protected的属性的getter和setter。

@NonNull

表示相应的字段不能为null

@ToString

用来生成toString方法,所有的非static字段都会包括,也可以使用参数exclude来指定需要排除包含的字段,使用of参数指定需要输出的字段。通过设置参数callSuper为true,可以将父类的toString输出包含进来。

@EqualsAndHashCode

用来生成类的equals和hashcode方法。默认情况下,所有的非static字段和非临时字段都会包含。也可以使用exclude来排除和of来指定包含的字段。callSuper将在两个函数中调用父类中对应的函数。但equals函数必须注意instance类型比较。若只是比较类型是否相同没问题,若比较是不是等于特定类型则可能出问题。若类只是扩展自Object类,不能使用callSuper,会抛出异常。

@Data

等价于@ToString, @EqualsAndHashCode, @RequiredArgsConstructor, @Getterand@Setter的组合。同时也会生成public的constructor,参数为所有@NonNull 或final的字段。提供参数staticConstructor并指定函数名,会将constructor变为private并生成静态的factory方法。

@Cleanup

声明用来确保分配的资源被释放。当局部变量使用其声明,会生成try/finally来保证cleanup函数一定会被调用。默认认为cleanup方法名为close,可以使用value参数来指定函数名。但cleanup函数抛出的异常会覆盖其他的异常(因为在finally中抛出异常),会导致不能找到真正的原因。

@NoArgsConstructor

will generate a constructor with no parameters. 若因为存在final field,则不可能创建没有参数的constructor。@NoArgsConstructor(force = true)将所有的final field用0/false/null初始化。

@RequiredArgsConstructor

为所有未初始化的final字段和@NonNull标注的字段作为参数创建constructor。

@AllArgsConstructor

generates a constructor with 1 parameter for each field in your class. Fields marked with@NonNullresult in null checks on those parameters.

@Slf4j

用来在被声明的类中logger变量,如下:

private final Logger logger = LoggerFactory.getLogger(XXX.class);

@Builder

toBuilder参数将提供将对象改为builder对象的功能。具体来说就是你创建了一个对象,其中有某些属性无法使用builder注入,那么可以先使用setter注入然后使用toBuilder()函数获取该对象的builder继续用builder注入其他属性。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值