Respuestas:
Puede pasar un nivel de acceso a las anotaciones @Getter
y @Setter
. Esto es útil para hacer getters o setters protegidos o privados. También se puede usar para anular el valor predeterminado.
Con @Data
, tiene acceso público a los accesores de forma predeterminada. Ahora puede usar el nivel de acceso especial NONE
para omitir completamente el descriptor de acceso, de esta manera:
@Getter(AccessLevel.NONE)
@Setter(AccessLevel.NONE)
private int mySecret;
@Builder
se puede poner en funciones y constructores, así como en clases, y solo ofrezca establecer los atributos que aparecen en la firma de esa función.
AccessLevel.NONE
.
De acuerdo con la descripción de @Data , puede usar:
Todos los captadores y establecedores generados serán públicos. Para anular el nivel de acceso, anote el campo o la clase con una anotación explícita @Setter y / o @Getter. También puede usar esta anotación (combinándola con AccessLevel.NONE) para suprimir la generación de un getter y / o setter por completo.
Utilice el siguiente código para omitir / excluir de crear setter y getter.
@Getter(AccessLevel.NONE)
@Setter(AccessLevel.NONE)
private int mySecret;
Spring boot 2.3 versión, esto está funcionando bien.
Si tiene setter y getter como privado, aparecerá en los controles PMD.