Lombok的使用

一、Lombok介绍

Lombok是一款通过简单注解形式来简化实体类中java代码的插件,提高开发人员的开发效率。例如开发中经常需要写的javabean,都需要花时间去添加相应的getter/setter,也许还要去写构造器、equals等方法,而且需要维护,当属性多时会出现大量的getter/setter方法,这些显得很冗长也没有太多技术含量,一旦修改属性,就容易出现忘记修改对应方法的失误。Lombok能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString方法。出现的神奇就是在源码
中没有getter和setter方法,但是在编译生成的字节码文件中有getter和setter方法。这样就省去了手动重建这些代码的麻烦,使代码看起来更简洁些。

二、使用步骤

  1. idea中安装Lombok插件
    Lombok的使用
  2. 导入依赖
        <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.22</version>
        </dependency>

3、添加注解

三、常用注解

  1. @Data
    @Data注解在类上,会为类的所有属性自动生成setter/getter、equals、canEqual、hashCode、toString方法,如为final属性,则不会为该属性生成setter方法。
  2. @Getter/@Setter
    以使用@Getter/@Setter注解,此注解在属性上,可以为相应的属性自动生成Getter/Setter方法
  3. @NonNull
    该注解用在属性或构造器上,Lombok会生成一个非空的声明,可用于校验参数,能帮助避免空指针。
  4. @ToString
    类使用@ToString注解,Lombok会生成一个toString()方法,默认情况下,会输出类名、所有属性(会按照属性定义顺序),用逗号来分割。
  5. @NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor
    无参构造器、部分参数构造器、全参构造器。Lombok没法实现多种参数构造器的重载。

四、Lombok的优缺点

优点:

  1. 能通过注解的形式自动生成构造器、getter/setter、equals、hashcode、toString等方法,提高了一定的开发效率
    让代码变得简洁,不用过多的去关注相应的方法
  2. 属性做修改时,也简化了维护为这些属性所生成的getter/setter方法等
    缺点:
  3. 不支持多种参数构造器的重载
  4. 虽然省去了手动创建getter/setter方法的麻烦,但大大降低了源代码的可读性和完整性,降低了阅读源代码的舒适度
上一篇:org.apache.jasper.JasperException: 在[com.xxx]类型bean中找不到任何有关属性[length]的信息


下一篇:lombok