二、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

相關文章
相關標籤/搜索