Lombok 的@Builder 注解在使用的,会覆盖model自己的无参数构造函数,导致一些bug。

Lombok 的@Builder 注解在使用的,会覆盖model自己的无参数构造函数,导致一些bug。

比如Spring项目,在controller里面解析前端传递的数据为对应Java bean model对象的时候,这个无参数构造函数是很重要的。

这个时候,假如你不小心,在对应的model里面使用了@Builder注解,那么,他的无参数构造函数就没了。

导致,在解析数据的时候,Spring就报错了。。。

具体看图

Lombok 的@Builder 注解在使用的,会覆盖model自己的无参数构造函数,导致一些bug。

可以看到,这个无参数的构造函数被和谐了。。Spring可能就会出现解析数据异常的bug,比如,请求报400或者500的bug。

Lombok 的@Builder 注解在使用的,会覆盖model自己的无参数构造函数,导致一些bug。

这么再加上@NoArgsConstructor这个注解,这个无参数的构造函数就又回来了。。。。。

之前还写过这个注解的使用,参看连接:

Lombok 的 @Builder 的使用,默认值的设置,修改属性值

之前在使用的时候,并没有认识到,这个注解还有这个隐患。。。现在知道了。