Lombokでデータクラスを使用したい。約12個のフィールドがあるので、すべてのセッターとゲッターを生成するために、@Data
で注釈を付けました。ただし、アクセッサを実装したくない特別なフィールドが1つあります。
Lombokはこのフィールドをどのように省略しますか?
@Getter
および@Setter
注釈にアクセスレベルを渡すことができます。これは、ゲッターまたはセッターを保護またはプライベートにするのに役立ちます。デフォルトを上書きするためにも使用できます。
@Data
を使用すると、デフォルトでアクセサーにパブリックアクセスできます。次のように、特別なアクセスレベルNONE
を使用して、アクセサーを完全に省略することができます。
@Getter(AccessLevel.NONE)
@Setter(AccessLevel.NONE)
private int mySecret;
@ Data description に従って、使用できます:
生成されたすべてのゲッターとセッターは公開されます。アクセスレベルをオーバーライドするには、明示的な@Setterアノテーションまたは@Getterアノテーション、あるいはその両方を使用してフィールドまたはクラスに注釈を付けます。また、このアノテーションを(AccessLevel.NONEと組み合わせて)使用して、ゲッターやセッターを完全に生成しないようにすることもできます。