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
原文地址:https://www.cnblogs.com/jpfss/p/11382259.html