zoukankan      html  css  js  c++  java
  • IDEAL葵花宝典:java代码开发规范插件 lombok 插件

    前言:

    lombok简介:

      lombok是暑假来到公司实习的时候发现的一个非常好用的小工具,刚见到的时候就感觉非常惊艳,有一种相见恨晚的感觉,用了一段时间之后感觉的确挺不错,所以特此来推荐一下。

      那么lombok到底是个什么呢,lombok是一个可以通过简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 Java 代码的工具,简单来说,比如我们新建了一个类,然后在其中写了几个字段,

      然后通常情况下我们需要手动去建立getter和setter方法啊,构造函数啊之类的,lombok的作用就是为了省去我们手动创建这些代码的麻烦,它能够在我们编译源码的时候自动帮我们生成这些方法。

      lombok能够达到的效果就是在源码中不需要写一些通用的方法,但是在编译生成的字节码文件中会帮我们生成这些方法,这就是lombok的神奇作用。

      虽然有人可能会说IDE里面都自带自动生成这些方法的功能,但是使用lombok会使你的代码看起来更加简洁,写起来也更加方便。

     lombok安装依赖:

    <dependencies>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.16.10</version>
        </dependency>
    </dependencies>

     接下来就是下载这个插件: 

    注:(建议外部导入,内部下载可能不行)点击我下载插件包   密码:b6pg

    安装插件:点击插件详情中的"install"按钮,按照其提示即可完成安装,安装完成后需重启IDEA。

    接下来我们测试一下是否可以用: 先建立一个类使用@Data注解;

    @Data
    public class Lombok {
        private String name;
        private int age;
    }

     测试类:

    public class LombokTest {
        @Test
        public void testUser() {
            Lombok lombok = new Lombok();
            lombok.setName("xx");
            lombok.setAge(18);
            System.err.println(lombok.toString());
        }
    }

     如下图显示:(很明显已经成功赋值了)

     

    其余的代码简写:

       @NonNull : 让你不在担忧并且爱上NullPointerException

      @CleanUp : 自动资源管理:不用再在finally中添加资源的close方法

      @Setter/@Getter : 自动生成set和get方法

      @ToString : 自动生成toString方法

      @EqualsAndHashcode : 从对象的字段中生成hashCode和equals的实现

      @NoArgsConstructor、@RequiredArgsConstructor、@AllArgsConstructor;自动生成构造方法

         @Data : 自动生成set/get方法,toString方法,equals方法,hashCode方法,不带参数的构造方法

      @Value : 用于注解final类

      @Builder : 产生复杂的构建器api类

      @SneakyThrows : 异常处理(谨慎使用)

      @Synchronized : 同步方法安全的转化

      @Getter(lazy=true) :

      @Log : 支持各种logger对象,使用时用对应的注解,如:@Log4j

    --------------------------------------------------------------------------------

    以上内容若有不足之处:请多多请教

    如要转载请注明小编本站地址:(https://www.cnblogs.com/mlq2017/)

     

  • 相关阅读:
    C#磁吸屏幕窗体类库
    准备
    我写的诗
    How to turn off a laptop keyboard
    How to tell which commit a tag points to in Git?
    Why should I care about lightweight vs. annotated tags?
    How to get rid of “would clobber existing tag”
    Facebook, Google and Twitter threaten to leave Hong Kong over privacy law changes
    The need for legislative reform on secrecy orders
    Can a foreign key be NULL and/or duplicate?
  • 原文地址:https://www.cnblogs.com/mlq2017/p/9651012.html
Copyright © 2011-2022 走看看