Respostas:
Você pode passar um nível de acesso para as anotações @Getter
e @Setter
. Isso é útil para tornar os getters ou setters protegidos ou privados. Também pode ser usado para substituir o padrão.
Com @Data
, você tem acesso público aos acessadores por padrão. Agora você pode usar o nível de acesso especial NONE
para omitir completamente o acessador, assim:
@Getter(AccessLevel.NONE)
@Setter(AccessLevel.NONE)
private int mySecret;
@Builder
pode ser aplicado a funções e construtores, bem como a classes, e ofereça apenas a definição dos atributos que surgem na assinatura dessa função.
AccessLevel.NONE
.
De acordo com a descrição @Data, você pode usar:
Todos os getters e setters gerados serão públicos. Para substituir o nível de acesso, anote o campo ou a classe com uma anotação explícita @Setter e / ou @Getter. Você também pode usar esta anotação (combinando-a com AccessLevel.NONE) para suprimir a geração de um getter e / ou setter por completo.
Use o código abaixo para omitir / excluir da criação de setter e getter.
@Getter(AccessLevel.NONE)
@Setter(AccessLevel.NONE)
private int mySecret;
Spring boot versão 2.3 , isso está funcionando bem.
Se você tiver um setter e um getter como privados, ele aparecerá nas verificações PMD.