zoukankan      html  css  js  c++  java
  • Java开发神器lombok

    背景

    我们在Java的开发过程中,通常都会定义大量的JavaBean,然后通过IDE去生成其属性的构造器、getter、setter、equals、hashcode、toString方法,当要对某个属性进行改变时,比如命名、类型等,都需要重新去生成上面提到的这些方法。虽然这些IDE会帮我们做,但还是很麻烦,代码很臃肿,那有没有一种方式能够避免这种重复的操作那?答案是有的,现在给就大家安利一个开发神器——lombok,只需一个注解,真的只要一个注解。

    简介

    虽然Lombok也用到了注解,但是它并没有用到反射,而是通过一些奇淫巧技,在代码编译时期动态将注解替换为具体的代码。所以JVM实际运行的代码,和我们手动编写的包含了各种工具方法的类相同。

    注解介绍

    • val - 终级解决方案!简化 final 局部变量定义。
    • @NonNull - 或者:了解我是怎样停止担心并爱上 NullPointerException 的。
    • @Cleanup - 怎么资源管理:方便而安全地调用 close() 方法。
    • @Getter / @Setter - 不再需要写像 public int getFoo() {return foo;} 这样的代码。
    • @ToString - 不用启动debug就能观察字段值:让 Lombok 为你生成 toString!
    • @EqualsAndHashCode - 让equal变得容易:在项目中由字段实现 hashCode 和 equals。
    • @NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor - 定制构造器:生成无参构造函数,对每个 final/非空 字段产生构造器,全参构造函数。
    • @Data - 它合并所有注解:相当于对所有字段应用 @ToString、@EqualsAndHashCode、@Getter,并对所有非 final 字段应用 @Setter,以及应用 @RequiredArgsConstructor!
    • @Value - 简单创意不可变类。
    • @Builder - … 一切都很简单:简单直接地创建对象的 API!
    • @SneakyThrows - 大胆的抛出以前不能轻易抛出的异常!
    • @Synchronized - 正确的同步:不要暴露你的锁。
    • @Getter(lazy=true) - 懒加载是种美德!
    • @Log - 打印log是一种习惯!

    安装

    IDEA安装lombok:
    File->Setting->Plugins->Browse repositories... 搜索lombok然后点击Install就OK了。
    Eclipse安装lombok:
    首先在官网下载插件lombok.jar,然后双击运行lombok.jar,数秒后将弹出一框,以确认eclipse的安装路径,然后点击install/update按钮,即可安装完成。重启Eclipse即可。

    导包

    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.16.18</version>
        <scope>provided</scope>
    </dependency>
    

    接下就可以尽情体验lombok带来的便利了。

    所有的进步都是不稳定, 一个问题解决了又不得不面对一个新的问题。
  • 相关阅读:
    通信接收机同步模块
    CAZAC序列
    Verilog Tricks
    载波同步
    Matlab step方法
    CRC校验码
    比特冗余
    Vivado RAM使用
    collection
    hashlib
  • 原文地址:https://www.cnblogs.com/nyvi/p/7822901.html
Copyright © 2011-2022 走看看