java插件小王子—>Lombok 使用介绍

java插件小王子->Lombok 使用介绍

本文主要讲述Lombok的平常使用
关于Lombok的安装能够看小编的另外一篇文章:
https://segmentfault.com/a/11...

Lombok了解

java中对象的实体类中 getter和setter toString equals 构造方法等
这些基本的java代码你是否早已感到厌倦
虽然有工具强大的快捷键支持但总归仍是很是影响咱们代码书写的效率和美观的
所以Lombok诞生了 Lombok利用注解的方式便轻松的建立出一些对象类的基本方法 帮助咱们消除一些java代码的冗长
若是你是第一次认识这个工具我相信你也会有一种想见恨晚的感受

Lombok的使用

  • @Data:做用于类上 暴力的生成了如下注解所能生成的方法: @ToString @EqualsAndHashCode @Getter @Setter @RequiredArgsConstructor
  • 若是你不想这么暴力的写法 能够用如下的分步骤来操做
  • @Getter/@Setter:
    做用在类上 为成员属性提供set、get方法
    同时利用value属性设定方法访问范围java

    @Setter(value=AccessLevel.PRIVATE)
       @Getter(value=AccessLevel.PUBLIC)
       class Student{
           private String name;
           private int age;
           private double money;
       }
  • @EqualsAndHashCode:
    做用于类,覆盖默认的equals和hashCode程序员

    @EqualsAndHashCode
       class Student{
           private String name;
           private int age;
           private double money;
       }
  • @ToString:
    做用在类上 覆盖默认toString方法
    同时能够用of属性限定显示某些字段,经过exclude属性排除某些字 段segmentfault

    @ToString(of= {"name","age"},exclude= {"money"})
       class Student{
           private String name;
           private int age;
           private double money;
       }
  • @NonNull:
    做用于成员变量上 声明属性不能为null不然抛出异常工具

    class Student{
         @NonNull  private String name;
           private int age;
           private double money;
       }
  • @NoArgsConstructor:生成无参构造器
  • @AllArgsConstructor:生成全参构造器
  • @RequiredArgsConstructor:生成被final修饰和被@NonNull注解的成员变量的构造器ui

    • ps:他们都有staticName和access属性
      表明生成静态的构造和经过access来设置访问属性spa

      @NoArgsConstructor(staticName="of",access=AccessLevel.PUBLIC)  
          @AllArgsConstructor  
          class Student{  
          @NonNull private String name;  
          private int age;  
          private double money;  
          }
  • @Log:做用在类上 生成日志变量
  • @Builder:做用在类上 使该类变为建造者模式
  • @Cleanup:
    做用在资源上 能够用于自动关闭像IO流这样的资源
  • @Synchronized:
    做用在方法上 能够代替对方法加锁的实现 可是要根据需求使用 小编在使用Lombok时 此注解并无使用过
  • @SneakyThrows:
    做用在方法上 对异常进行抛出 可想而知也不是很经常使用插件


此处小编说一句题关于Lombok插件的题外话
Lombok这个插件 我以为最起码作了不少程序员想作的事 即便他很简单
可是不少人因为插件的配置问题对插件进行一系列的penpenpen 以下图:日志

  • image.png

问题难道还不够明显吗 最简单的解决方式不就是 你本身转职或者直接把同事ds一顿很差吗 在这里喷插件! 本身的能力我看就不用多说了code

不想作一个尚未拼搏就死掉了的程序员 !!!
相关文章
相关标签/搜索