Câu trả lời:
Bạn có thể vượt qua một cấp độ truy cập đến @Getter
và @Setter
chú thích. Điều này rất hữu ích để làm cho getters hoặc setters được bảo vệ hoặc riêng tư. Nó cũng có thể được sử dụng để ghi đè mặc định.
Với @Data
, bạn có quyền truy cập công khai vào các bộ truy cập theo mặc định. Bây giờ bạn có thể sử dụng cấp truy cập đặc biệt NONE
để bỏ hoàn toàn trình truy cập , như thế này:
@Getter(AccessLevel.NONE)
@Setter(AccessLevel.NONE)
private int mySecret;
@Builder
có thể được đặt trên các hàm và hàm tạo cũng như các lớp và chỉ cung cấp cài đặt các thuộc tính xuất hiện trong chữ ký của hàm đó.
AccessLevel.NONE
.
Theo mô tả @Data bạn có thể sử dụng:
Tất cả các getters và setters được tạo sẽ được công khai. Để ghi đè cấp truy cập, chú thích trường hoặc lớp bằng chú thích @Setter và / hoặc @Getter rõ ràng. Bạn cũng có thể sử dụng chú thích này (bằng cách kết hợp nó với AccessLevel.NONE) để ngăn chặn việc tạo ra một getter và / hoặc setter hoàn toàn.
Sử dụng mã dưới đây để bỏ qua / loại trừ khỏi việc tạo setter và getter.
@Getter(AccessLevel.NONE)
@Setter(AccessLevel.NONE)
private int mySecret;
Phiên bản khởi động mùa xuân 2.3 , điều này đang hoạt động tốt.
Nếu bạn có setter và getter là private, nó sẽ xuất hiện trong kiểm tra PMD.