当前位置: 首页 > news >正文

Lombok应用

Lombok插件能够为实体类自动生getter、setter、tostring方法,可提高开发效率。

  1. 下载
    older versions
  2. 安装

    运行lombok.jar
    java -jar .\lombok.jar

     命令执行完成后会弹出如下对话框,对话框中会把所有的eclipse路径都查询出来,如果没有找到,也可以通过 Specify location 按钮指定位置。

     点击 Install/Update 进行安装

    在pop.xml中添加依赖

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

    lombok使用(@Slf4j注解需要额外添加slf4j-api依赖)

  3. 应用

    @Data:自动生成所有属性的get/set方法,equals方法,hashCode方法,toString方法,如果相应的方法名已经存在则滤过该方法
    属性名    描述
    staticConstructor    静态构造方法名,无参构造函数变为私有,只能通过该静态方法创建对象

    @AllArgsConstructor:自动用所有的字段生成构造函数,final的字段是作为生成构造函数入参
    属性名    描述
    staticName    静态构造方法名,有参构造函数变为私有,只能通过该静态方法创建对象
    access    设置生成的构造函数的访问级别,默认public

    @Getter:作用在类上,则为所有字段生成get方法;作用在字段上则为该字段生成get方法。
    属性名    描述
    value    设置生成方法的访问级别,默认public
    access    设置生成的构造函数的访问级别,默认public
    lazy    是否懒加载,如果为true则要求字段必须是final的,会在调用get方法时才会设置该值,且该值的获取是线程安全的

    @Setter:作用在类上,则为所有字段生成set方法;作用在字段上则为该字段生成set方法。
    属性名    描述
    value    设置生成方法的访问级别,默认public

    @ToString注解:作用在类上自动生成toString方法,默认只打印非静态字段,默认会使用字段get方法
    属性名    描述
    includeFieldNames    是否包含字段名称,默认true
    of    打印那些字段,不能和@ToString.Include和@ToString.Exclude注解一起使用
    callSuper    是否调用父类的toString方法,默认false
    doNotUseGetters    是否不使用字段的get方法
    onlyExplicitlyIncluded    仅打印ToString.include注解标注的字段

    @ToString.Include:和@ToString注解配合使用,用于自定义打印内容,可以用在方法(方法的返回值将被打印)和字段上
    属性名    描述
    randk    排序值,优先打印值大的
    name    可以自定义被打印字段或方法的名称

    @ToString.Exclude:和@ToString注解配合使用,用在字段上,排除不需要打印的字段

    @EqualsAndHashCode:用在类上,生成equals和hashCode方法,默认会使用字段get方法

    属性名    描述
    exclude    排除哪些字段
    of    包含哪些字段
    callSuper    是否要调用父类的实现
    doNotUseGetters    是否不使用字段的get方法
    onlyExplicitlyIncluded    仅打印ToString.include注解标注的字段
    @EqualsAndHashCode.Include:和@ToString注解配合使用,用于自定义内容,可以用在方法(方法的返回值将被打印)和字段上

    @EqualsAndHashCode.Exclude:和@EqualsAndHashCode注解配合使用,用在字段上,排除不需要打印的字段

    @NonNull:用于字段,参数,变量等,在设置null值时,抛出空指针异常

    @NoArgsConstructor:生成无参构造函数

    属性名    描述
    staticName    静态构造方法名,无参构造函数变为私有,只能通过该静态方法创建对象
    access    设置生成的构造函数的访问级别,默认public
    force    为所有final字段赋初值,0,null,false
    @RequiredArgsConstructor:生成包含final和@NonNull注解的成员变量的构造器;
    属性名    描述
    staticName    静态构造方法名,无参构造函数变为私有,只能通过该静态方法创建对象
    access    设置生成的构造函数的访问级别,默认public

    @Builder:使用建造者模式,会创建一个LombokBeanBuilder静态内部类,会为LombokBean 添加 public static LombokBeanBuilder builder() 方法。
    属性名    描述
    builderMethodName    为类添加的返回建造者类的方法名,默认builder()
    buildMethodName    建造者类创建目标对象的方法名,默认build()
    builderClassName    建造者类的类名
    toBuilder    为类创建如下方法 LombokBeanBuilder toBuilder(),会使用当前对象的属性值,作为builder的初值,相当于克隆目标对象
    access    设置builder类的访问级别,默认public
    @SneakyThrows:可以自动处理编译时异常,避免写try catch

    @Cleanup:可以自动关闭资源,比如inputSteam

    @Slf4j:会创建private static final Logger log;并赋初值,其他的日志也有相应的注解如@Log4j

    @Singular:和@Builder注解配合使用,只能用在集合字段或参数上,在builder类中创建为集合创建add方法

    @Value:构建一个不可变对象,字段是final的

    @With:用在字段和类型上,会为字段生成如下方法,相当于克隆对象的的同时设置指定属性值

    参考文献:lombok 详细使用说明_WZTTMoon的博客-CSDN博客_lombok说明

 

相关文章:

  • 大厂做网站/泉州seo技术
  • 广西省建设厅官方网站/兰州seo关键词优化
  • 海外网站建设/搜索引擎关键词怎么优化
  • web模板网站/来宾网站seo
  • 排名好的成都网站建设/html网页制作app
  • 延边app网站开发/搜索引擎优化的主题
  • 关于大数据系统及Hadoop系统中的概念
  • 当陪玩真能月入过万?Python获取陪玩数据
  • 最适合入门的100个深度学习实战项目
  • 多线程之五(JUC+线程安全的集合类+死锁)
  • 【Web实战-Tomcat-Servlet-Thymeleaf -JDBC-MySQL】浏览器页面显示数据库数据(水果库存系统)
  • python面向对象的编程---类
  • Ubuntu18安装docker详细教程
  • 【C++修炼之路】6. 内存管理
  • 网络安全为啥要学Linux系统
  • 面了个腾讯拿28k跳槽出来的,真正见识到了跳槽天花板
  • WEB安全之PHP安全开发 博客系统(四):文章管理之列表的制作与修改(保存更改)
  • 超级干货!如何仅花5步就能写出一篇领导绝对满意的数据分析报告