一个注解写完get/set,Lombok插件的用法及标签释义

本文介绍了Lombok插件的用途和主要功能,如@Getter/@Setter简化getter和setter,@NonNull进行非空校验,@Cleanup自动管理资源等。通过使用Lombok,可以使代码更简洁、优雅,提高开发效率。
摘要由CSDN通过智能技术生成


一、lombok有啥用?

可以替代代码中的getter和setter方法,虽然eclipse/idea自带的setter、getter代码生成也不需要我们手动的去敲写,但是使用@Setter @Getter这样的注解,能够使我们的代码看上去更加的简洁、优雅。


二、lombok具体有啥功能?

具体释义:

  • val:用在局部变量前面,相当于将变量声明为final 例如:val lists = new ArrayList();

  • @NonNull:给方法参数增加这个注解会自动在方法内对该参数进行是否为空的校验,如果为空,则抛出NPE(NullPointerException);

  • @Cleanup:自动管理资源,用在局部变量之前,在当前变量范围内即将执行完毕退出之前会自动清理资源,自动生成try-finally这样的代码来关闭流。虽然自JDK7以来,原生引入了try–with–resource结构,但还是不如@Cleanup来的简洁。

  • @Getter/@Setter:用在属性上,再也不用自己手写setter和getter方法了,还可以指定访问范围;

  • @ToString:用在类上,可以自动覆写toString方法,当然还可以加其他参数,例如@ToString(exclude=”id”)排除id属性,或者@ToString(callSuper=true, includeFieldNames=true)调用父类的toString方法,包含所有属性;

  • @EqualsAndHashCode:用在类上,自动生成equals方法和hashCode方法;

  • @NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor:用在类上,自动生成无参构造和使用所有参数的构造函数以及把所有@NonNull属性作为参数的构造函数,如果指定staticName = “of”参数,同时还会生成一个返回类对象的静态工厂方法,比使用构造函数方便很多;

  • @Data:注解在类上,相当于同时使用了@ToString、@EqualsAndHashCode、@Getter、@Setter和@RequiredArgsConstrutor这些注解,对于POJO类十分有用;

  • @Value:用在类上,是@Data的不可变形式,相当于为属性添加final声明,只提供getter方法,而不提供setter方法;

  • @Builder:用在类、构造器、方法上,为你提供复杂的builder APIs,让你可以像如下方式一样调用Person.builder().name(“Adam Savage”).city(“San Francisco”).job(“Mythbusters”).job(“Unchained Reaction”).build();更多说明参考Builder;

  • @SneakyThrows:自动抛受检异常,而无需显式在方法上使用throws语句;

  • @Synchronized:用在方法上,将方法声明为同步的,并自动加锁,而锁对象是一个私有的属性 l o c k 或 lock或 lockLOCK,而java中的synchronized关键字锁对象是this,锁在

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值