Lombok常用注解详解

前言:
    Lombok能以简单的注解形式来简化java代码,提高开发人员的开发效率。例如开发中经常需要写的javabean,都需要花时间去添加相应的getter/setter,也许还要去写构造器、equals等方法,而且需要维护,当属性多时会出现大量的getter/setter方法,这些显得很冗长也没有太多技术含量,一旦修改属性,就容易出现忘记修改对应方法的失误。

    Lombok能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString方法。出现的神奇就是在源码中没有getter和setter方法,但是在编译生成的字节码文件中有getter和setter方法。这样就省去了手动重建这些代码的麻烦,使代码看起来更简洁些。

  Lombok的使用跟引用jar包一样,可以在官网(https://projectlombok.org/download)下载jar包,也可以使用maven添加依赖:

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.16.20</version>
    <scope>provided</scope>
</dependency>

0、@Data:@Data注解在类上,会为类的所有属性自动生成setter/getter、equals、canEqual、hashCode、toString方法,如为final属性,则不会为该属性生成setter方法。

1、@Value注解和@Data类似,区别在于它会把所有成员变量默认定义为private final修饰,并且不会生成set方法

2、@getter:在JavaBean中使用,注解会生成对应的getter方法

3、@setter:在JavaBean中使用,注解会生成对应的setter方法

4、@NoArgsConstructor:在JavaBean中使用,注解会生成对应的无参构造方法

5、@AllArgsConstructor:在JavaBean中使用,注解会生成对应的有参构造方法

@RequiredArgsConstructor :生成private构造方法,使用staticName选项生成指定名称的static方法。

6、@ToString:在JavaBean中使用,注解会自动重写对应的toStirng方法

@ToString(exclude={“column1”,“column2”}):排除多个column列所对应的元素

@ToString(of={“column1”,“column2”}):只生成包含多个column列所对应的元素

7、@EqualsAndHashCode:在JavaBean中使用,注解会自动重写对应的equals方法和hashCode方法

8、@Slf4j:在需要打印日志的类中使用,项目中使用slf4j日志框架

9、@Log4j:在需要打印日志的类中使用,项目中使用log4j日志框架

10、@NonNull:注解快速判断是否为空,为空抛出java.lang.NullPointerException

11、@Synchronized:注解自动添加到同步机制,生成的代码并不是直接锁方法,而是锁代码块, 作用范围是方法上
12、@Cleanup:注解用于确保已分配的资源被释放(IO的连接关闭)

13、@Accessors(chain = true):链式风格,在调用set方法时,返回这个类的实例对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微微一笑满城空

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值