Lombok注解 再见到别不认识了

@Data

        类注解, 综合注解; 相当于@Getter + @Setter + @ToString + @EqualsAndHashCode@RequiredArgsConstructor

@Value

        类注解,综合注解; 相当于@Getter + @ToString + @EqualsAndHashCode@RequiredArgsConstructor

@Getter

        作用于属性上,自动生成 getter方法

@Setter

        作用于属性上,自动生成 setter方法

@ToString

        自动生成toString()方法 该注解有以下多个属性可以进一步设置:

  • callSuper:是否输出父类的toString方法,默认为false
  • includeFieldNames:是否包含字段名称,默认为true
  • exclude:排除生成tostring的字段
  1. @ToString.Exclude 字段注解,排除不需要在 toString 中出现的字段。
  2. @ToString.Include  字段注解,标记需要出现在 toString 中的字段。

@EqualsAndHashCode

根据类所拥有的非静态字段自动重写 equals() 方法和 hashCode() 方法。

你也可以用

  • @EqualsAndHashCode.Exclude 排除字段在重写的 equals 方法和 hashCode 方法中。
  • @EqualsAndHashCode.Include  指定字段在重写的 equals 方法和 hashCode 方法中。

@RequiredArgsConstructor

作用于类,生成包含 final 或 @NonNull 注解的成员变量的构造方法。

用法可以代替 @Autowrited 使用

@RequiredArgsConstructor
public class Test{
    
    private final TestService testService;

}
public class Test{
    
    @Autowrited
    private TestService testService

}

@NoArgsConstructor

自动生成无参数构造函数。

@AllArgsConstructor

自动生成全参数构造函数。

@NotNull

生成setter方法时会参数是否为空检查,  为字段赋值时(即调用字段的setter方法时),如果传的参数为null,则会抛出空异常NullPointerException

@Builder

生成当前类的字段构建方法。生成 builder() 方法,并且直接根据字段名称方法进行字段赋值,最后使用 build() 方法构建出一个实体对象。

@SuperBuilder

生成父类的字段构建方法。

@Synchronized

作用于方法,可以替换 synchronized 关键字或 lock 锁

@Cleanup

用于确保已分配的资源被释放,自动帮我们调用close()方法。比如IO的连接关闭。

@SneakyThrows

在没有 throws 关键字的情况下,隐蔽地抛出受检查异常。


其他注解

@Singular作用于集合字段,需要配合 @Builder 使用。
@val作用于类、变量,主要用于声明变量的类型,注解将从初始化程序表达式中推断类型,生成的变量是 final 类型。
@var和 @val 一样,作用于类、变量,主要用于声明变量的类型,注解将从初始化程序表达式中推断类型,两者区别在于 var 不加 final。
@With作用于类、变量,生成构造方法以及with + 变量名的方法,返回当前对象。
@WithBy只作用于类,只生成with + 变量名的方法,返回当前对象。
@Generated用于标记类、变量、方法是自动生成的,没什么大用。

更多详情请查看 Lombok 官方网站 查询

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值