zoukankan      html  css  js  c++  java
  • Lombok包下常用注解

    前言

      Lombok能以简单的注解形式来简化java代码,提高开发人员的开发效率。

      例如开发中经常需要写的javabean,都需要花时间去添加相应的getter/setter,也许还要去写构造器、equals等方法,而且需要维护,当属性多时会出现大量的getter/setter方法,这些显得很冗长也没有太多技术含量,一旦修改属性,就容易出现忘记修改对应方法的失误。

      Lombok能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString方法。

      出现的神奇就是在源码中没有getter和setter方法,但是在编译生成的字节码文件中有getter和setter方法。

      这样就省去了手动重建这些代码的麻烦,使代码看起来更简洁些。

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

    常用注解

    1. @Data 注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法
    2. @Value : 注解和@Data类似,区别在于它会把所有成员变量默认定义为private final修饰,并且不会生成set方法。
    3. @Setter :注解在属性上;为属性提供 setting 方法
    4. @getter :注解在属性上;为属性提供 getting 方法
    5. @NoArgsConstructor :注解在类上;为类提供一个无参的构造方法
    6. @AllArgsConstructor :注解在类上;为类提供一个全参的构造方法
    7. @RequiredArgsConstructor:注解在类上;生成一个指定名称的静态方法,返回一个调用相应的构造方法产生的对象
    8. @NonNull : 如果给参数加个这个注解 参数为null会抛出空指针异常
    9. @EqualsAndHashCode  注解在类上;提供equals和hashCode方法
    10. @Cleanup : 可以关闭流
    11. @Builder : 被注解的类加个构造者模式
    12. @Synchronized : 加个同步锁
    13. @SneakyThrows : 等同于try/catch 捕获异常
    14. @Log:

      注解在类上;省去从日志工厂生成日志对象这一步,直接进行日志记录,具体注解根据日志工具的不同而不同,同时,可以在注解中使用topic来指定生成log对象时的类名。

    官方文档:https://projectlombok.org/features/all

    使用介绍:https://blog.csdn.net/sunsfan/article/details/53542374

  • 相关阅读:
    单页面 Web 应用(Single Page Application,SPA)的工作原理介绍
    为什么 Web 开发人员需要学习一个 JavaScript 框架?
    SAP Commerce Cloud 项目 Spartacus 入门
    SAP Spartacus 的 CSS 架构
    什么是 Immutable Web Apps
    PHP中把stdClass Object转array的几个方法
    git tag常用操作
    报错No Input file specified
    python爬取抖音个人主页所有视频
    无水印抖音视频批量下载---基于python爬虫(全网最简单方法含详细解析)
  • 原文地址:https://www.cnblogs.com/FondWang/p/12386324.html
Copyright © 2011-2022 走看看