lombok

久未见 提交于 2019-12-30 02:47:31

一、lombok的使用

1.1 lombok环境搭建

  • 添加依赖
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.4</version>
    <scope>provided</scope>
</dependency>

  • idea下载lombok插件

setting–>plugins–>lombok

1.2 简介

lombok提供了一些注解,可以简化java代码的编写,比如平常使用的get,set方法,构造函数,hashcode,equals方法等,都可以使用其提供的注解,帮助我们自动生成。

二、lombok中常用的注解

2.1 @Data

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

2.2 @Getter/@Setter

注解在属性上,可以为相应的属性自动生成Getter/Setter方法。

2.3 @NonNull

该注解用在属性或构造器上,Lombok会生成一个非空的声明,可用于校验参数,能帮助避免空指针。

2.4 @Cleanup

该注解能帮助我们自动调用close()方法,很大的简化了代码。

2.5 @EqualsAndHashCode

默认情况下,会使用所有非静态(non-static)和非瞬态(non-transient)属性来生成equals和hasCode,也能通过exclude注解来排除一些属性。

2.6 @ToString

生成toString()方法。

2.7 @NoArgsConstructor

无参构造器

2.8 @RequiredArgsConstructor

会生成一个包含常量,和标识了NotNull的变量的构造方法。生成的构造方法是私有的private。

2.9 @AllArgsConstructor

全参构造器

2.10 lombok的缺点

不支持多种参数构造器的重载

2.11 参考

Lombok介绍、使用方法和总结

2.12 举例

@NoArgsConstructor
@AllArgsConstructor
public class Teacher {
    @Getter @Setter
    String name;
    @Getter @Setter
    String age;
    @Getter @Setter
    int id;
    @Getter @Setter
    User user;
}
  • idea Alt + 7查看类的所有参数和方法
    在这里插入图片描述
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!