java中lombok插件里的@RequiredArgsConstructor

lombok插件时通过注解来减少冗长代码的。
我在学习时看到在创建pojo类时用到@Data(@Setter、@Getter、@ToString、 @EqualsAndHashCode、 @RequiredArgsConstructor五合一),其中@RequiredArgsConstructor我不太理解,资料上是说这个注解用来生成包含被final和@nonnull修饰的属性的构造方法。
可是pojo类是必须有一个无参构造器的,来利用反射来创建JavaBean对象。添加这个注解后不就没有无参构造器了吗?为什么还能正常运行?

@RequiredArgsConstructor 是为有需要特殊处理的字段生成带有一个参数的构造函数,所有未能初始化的final字段,以及被标记为@NonNull且在声明时没有初始化的字段,都是该构造函数的参数。
但是 pojo一般是没有这种字段的,所以你这里这个注解就是无用的。

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这篇博客: 图文详解Lombok 及其使用方式中的 9.@RequiredArgsConstructor:作用在类上,使该类中所有带有 @NonNull 注解的或者带有 final 修饰的成员变量生成对应的构造方法。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    在这里插入图片描述

    在这里插入图片描述


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^