lombok的Tolerate注解

2022-08-21 13:02:39 浏览数 (2)

这个注解就像它的名字一样:

@Tolerate:包容、宽容

用法很简单,例如此处场景:

代码语言:javascript复制
package com.ruben.simplescaffold.pojo.vo;

import java.io.Serializable;

import lombok.Builder;
import lombok.Data;

/**
 * 用户VO
 *
 * @author <achao1441470436@gmail.com>
 * @since 2022/3/23 19:20
 */
@Data
@Builder
public class UserVO implements Serializable {

    private static final long serialVersionUID = -6541515410807361292L;

    private String uname;

    private String pwd;

}

这是一个很简单的pojo,额外加了一个@Builder注解

但此处我们发现其生成后没有无参构造

如果我们需要无参构造,就得加一个@NoArgsConstructor

加完发现,@Builder需要的全参构造无法生成

糟糕,那不是还得加一个@AllArgsConstructor?这样确实能解决问题,但我们这里就会出现一大堆注解,很丑

这时候我们就可以使用包容注解@Tolerate

我们只需要手动编写一个无参构造,再加上注解

成功编译并兼容@Builder

0 人点赞