Java中Lombok的注意事项:慎用@Builder
@Builder使用后会自动生成无参构造方法,但无法生成Getter/Setter方法。@Builder在内部实际上创建了一个名为ThisClassBuilder的内部静态类,该类具有与实体类相同的属性,称为构建器。在构建器中,对于目标类中的所有属性和未初始化的final字段,都会在构建器中创建对应属性。此外,构建器中还包括一个无参的default构造函数以及与实体类中每个参数相对应的setter方法,方法名与参数名相同,并返回构建器本身以便链式调用。最后,构建器中会生成一个build方法,用于根据设置的值创建实体对象,并生成一个toString方法。在实体类中,会创建一个builder方法,用于创建构建器。
单独使用@Builder是正确且有用的,但与其他Lombok注解一起使用时,可能导致生成Getter和Setter方法的缺失,以及无参构造函数的消失。这是需要谨慎避免的问题,确保在合适的场景中使用@Builder以充分发挥其优势。
下载地址
用户评论