回答:
@Getter
および@Setter
アノテーションにアクセスレベルを渡すことができます。これは、ゲッターまたはセッターを保護またはプライベートにするのに役立ちます。デフォルトを上書きするためにも使用できます。
を使用すると@Data
、デフォルトでアクセサにパブリックアクセスできます。次のように、特別なアクセスレベルNONE
を使用して、アクセサーを完全に省略できます。
@Getter(AccessLevel.NONE)
@Setter(AccessLevel.NONE)
private int mySecret;
@Builder
は関数やコンストラクターだけでなくクラスにも置くことができ、その関数のシグニチャーで現れる属性の設定のみを提供することを覚えておいてください。
AccessLevel.NONE
ます。
生成されたすべてのゲッターとセッターは公開されます。アクセスレベルを上書きするには、フィールドまたはクラスに@Setterや@Getterの注釈を明示的に付けます。このアノテーションを(AccessLevel.NONEと組み合わせて)使用して、getterやsetterの生成を完全に抑制することもできます。
以下のコードを使用して、セッターとゲッターの作成から除外/除外します。
@Getter(AccessLevel.NONE)
@Setter(AccessLevel.NONE)
private int mySecret;
スプリングブート2.3バージョン、これはうまく機能しています。
セッターとゲッターをプライベートとして持っている場合、PMDチェックで表示されます。