lombok

1、简介git

Lombok是一个能够经过简单的注解形式来帮助咱们简化消除一些必须有但显得很臃肿的Java代码的工具,经过使用对应的注解,能够在编译源码的时候生成对应的方法。官方地址: https://projectlombok.org/,github地址: https://github.com/rzwitserloot/lombok

2、IntelliJ IDEA 使用
  • 先安装插件
  • 而后引入lombok的jar包  
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.16.14</version>
</dependency>

3、注解的介绍github

  • @Getter and @Setter

   能够用@Getter / @Setter注释任何字段(固然也能够注释到类上的),让lombok自动生成默认的getter / setter方法。工具

     默认生成的方法是public的,若是要修改方法修饰符能够设置AccessLevel的值,例如:@Getter(access = AccessLevel.PROTECTED)
  • @ToString
     生成toString()方法,默认状况下,它会按顺序(以逗号分隔)打印你的类名称以及每一个字段。能够这样设置不包含哪些字段
      @ToString(exclude = "id") / @ToString(exclude = {"id","name"})
     若是继承的有父类的话,能够设置 callSuper 让其调用父类的toString()方法,例如: @ToString(callSuper = true)
  • @EqualsAndHashCode

    生成hashCode()和equals()方法,默认状况下,它将使用全部非静态,非transient字段。但能够经过在可选的exclude参数中来排除更多字段。ui

         或者,经过在parameter参数中命名它们来准确指定但愿使用哪些字段。spa

  • @NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor
    @NoArgsConstructor生成一个无参构造方法。当类中有final字段没有被初始化时,编译器会报错,此时可用@NoArgsConstructor(force = true),
    而后就会为没有初始化的final字段设置默认值 0 / false / null。对于具备约束的字段(例如@NonNull字段),不会生成检查或分配,
    所以请注意,正确初始化这些字段以前,这些约束无效。
  • @Data

   @Data 包含了 @ToString、@EqualsAndHashCode、@Getter / @Setter和@RequiredArgsConstructor的功能插件

相关文章
相关标签/搜索