美文网首页
Lombok 使用完全指南

Lombok 使用完全指南

作者: YellowStar5_ | 来源:发表于2019-08-10 22:40 被阅读0次

    为什么要使用lombok。

    • 普通的 POJO 需要写或是用IDEA等集成开发环境生成大量gettter, setter方法
    • 普通的 POJO 对于 equals 和 hashCode 等方法,也需要自己维护。特别你写接口的时候,如果添加了
      一个字段忘了维护,可能会导致一些bug。
    • 普通的 POJO 没有 builder 的支持,得自己实现该模式。
    • ....

    总之,lombok 极大地简化你的代码,去掉了那些模板代码,让你的POJO看起来更加地清爽(可以只有类名和字段的声明,加上少量的注解)。

    jar 包的下载

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

    IntelliJ IDEA 中 安装lombok插件。

    其他集成开发环境(比如 Visual Studio Code, Eclipse), 请参见官方文档 Install部分。

    install-lombok-plugin.png

    下面主要是对lombok features部分的翻译

    val

    终于! 无忧无虑的 final 局部变量。 :v:

    var

    可变!类型可变的局部变量

    @NonNull

    我开始停止了焦虑,爱上了空指针 :kissing_heart:

    @Getter/@Setter

    再也不用写 public int getFoo() {return foo;}了。

    ToString

    没必要启动debugger来查看你的字段:让 lombok来为你生成一个 ToString 方法吧!

    @EqualsAndHashCode

    让相等变得简单: 从你对象的字段中生成 hashCodeequals 的实现

    @NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor

    按需生成构造函数: 生成不带参数的, 每个 final/non-null 字段一个参数的,一个字段一个参数的构造函数。

    @Data

    所有的都合到一起:@ToString@ EqualsAndHashCode,所有字段的 @Getter,所有非 final 字段的 @Setter@RequiredArgsConstructor 的快捷方式!

    @Value

    让不可变类变得非常容易。

    @Builder

    ... and Bob's your uncle: No-hassle fancy-pants APIs for object creation!

    @SneakyThrows

    大胆抛出以前没有人抛出的已检查异常!:eyes:

    @Synchronized

    synchronized 做了正确的事:不要暴露你的锁。

    @Getter(lazy=true)

    惰性加载是一种美德!

    @Log

    Captain's Log, stardate 24435.7: "What was that line again?"

    experimental

    Head to the lab: The new stuff we're working on.

    相关文章

      网友评论

          本文标题:Lombok 使用完全指南

          本文链接:https://www.haomeiwen.com/subject/ufpdjctx.html