二、lombok的注解影响不了父类的属性

lombok的注解影响不了父类的属性,只能影响当前类的属性。例子以下:测试

例子1:子类Test中使用@Setter、@Getter,并不能给父类的属性id生成Setter、Getter。

public class BaseEntity{
	private String id;
}

@Getter
@Setter
public class Test extends BaseEntity{

    private String code;
    private String name;
}

例子2:子类Test中使用@Builder,也不能使用Builder模式给父类的id设置值。

public class BaseEntity{
	private String id;
}

@Builder
public class Test extends BaseEntity{

    private String code;
    private String name;
	
   public static void main(String[] args) {
        Test.builder().id("123") //错误,没有这个方法
    }
}

在子类和父类中都使用@SuperBuilder,去掉@Builder,能够实现使用Builder模式给父类的属性设置值。可是这个在lombok版本1.18.8是实验性质的功能,没有通过官方测试。文档:https://projectlombok.org/features/experimental/all 不知道将来的版本会不会加到稳定版。ui

相关文章
相关标签/搜索