java关于lombok(包括父类参数)

java关于lombok对bean对象进行自动设置

  • 使用说明
    • 使用方式
  • 注释类型
    • @NonNull
    • @Data(常用)
    • @NoArgsConstructor(常用)/@RequiredArgsConstructor(常用)/@AllArgsConstructor(常用)
    • @Getter/@Setter/@Getter(lazy=true)
    • @ToString/@EqualsAndHashCode
    • @Cleanup
    • @Value
    • @Builder
    • @SneakyThrows
    • @Synchronized
    • @Log
  • 优缺点
  • 问题,父类参数

使用说明

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

使用方式

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

    
      org.projectlombok
      lombok
      1.18.2
      provided
    

然后在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、三个基本方法的重写和构造方法了
java关于lombok(包括父类参数)_第1张图片

注释类型

官方所有的注释: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)

你可能感兴趣的:(java)