zoukankan      html  css  js  c++  java
  • java关于lombok(包括父类参数)

    使用说明

    要使用lombok,必须是用插件,目前我所知道能用的工具是idea。具体安装插件方式如下图:

    你好! 这是你第一次使用 **Markdown编辑器** 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

    使用方式

    如果是使用maven的直接加入依赖就可以了,如果不是就在网上找这个jar的地址下载,这里不错说明(现在基本上都还是用maven来的的吧)。

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

    然后在bean对象中加入注释就可以了,如下所示

    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public class ColumnBO {
        /**
         * 列名
         */
        private String columnName;
        /**
         * 转换后的列名
         */
        private String columnNameTrans;
        /**
         * 数据类型
         */
        private String dataType;
        /**
         * 转换后的数据类型
         */
        private String dataTypeTrans;
        /**
         * 注释
         */
        private String columnComment;
    

    }

    打开structure就能看到get、set、三个基本方法的重写和构造方法了
    在这里插入图片描述

    注释类型

    官方所有的注释:https://www.projectlombok.org/features/all

    @NonNull

    参数不能为空,不然会空指针异常

    @Data(常用)

    =@ToString+@EqualsAndHashCode+@Getter+@Setter

    @NoArgsConstructor(常用)/@RequiredArgsConstructor(常用)/@AllArgsConstructor(常用)

    无参构造、必填参数构造(@NonNull)、全参构造;生成构造函数功能较弱,有些时候需要自己写一些参数的构造函数,构造函数使用注释和自己写一些参数构造一起使用,有时候会启动不了。这个问题还没有找到原因。

    @Getter/@Setter/@Getter(lazy=true)

    自动创建get、set;lazy要使用此特性,请创建一个私有的final变量,用运行开销较大的表达式初始化它,并使用@Getter(lazy=true)注释字段。该字段将对代码的其余部分隐藏,并且在首次调用getter时,表达式的计算不会超过一次。

    @ToString/@EqualsAndHashCode

    自动创建tostring、equals、hashcode方法

    下面几个参数还没有用过,等有空研究下

    @Cleanup

    @Value

    @Builder

    @SneakyThrows

    @Synchronized

    @Log

    优缺点

    优点:bean对象更加简洁,使用方便了

    缺点:可读性下降,构造方式不够灵活

    问题,父类参数

    需要加上参数:callSuper = true
    例如:@ToString(callSuper = true)

    原文地址:https://blog.csdn.net/u014803081/article/details/84574016#Builder_72
  • 相关阅读:
    query compiler
    non-deterministic-turing-machine
    What-are-P-NP-NP-complete-and-NP-hard
    查询优化器的算法
    Redis 和 I/O 多路复用
    Linux aio
    MySQL 的那些网络超时错误
    MYSQL performance
    jvmti
    JVM Troubleshooting
  • 原文地址:https://www.cnblogs.com/jpfss/p/11382259.html
Copyright © 2011-2022 走看看