[Spring]Lombokを使用する場合、なぜis prefixがないのでしょうか.

2592 ワード

新しい製品であるか否かを示すisNewという変数があり、応答としてDTOを下げるとisは消え、newのみが表示される.
新しいのをそのまま使えばいいんですよね…しかしフロントではnewは予約語で使いにくいと言われていたので、別のものに変更を求める人がいました.
でもどうしてisは消えたの?

それは.
まさに
まさに
@Lombokのためです.
Lombokはbooleanタイプの場合、変数の接頭辞がisの場合、getIsNew()ではなくgetメソッドを作成します.
Packagedtoという名前のDtoを作成し、ブールタイプの変数を作成します.
import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
public class PackageDto {
    Boolean isNew;

}
😇 Lombokの自動作成方法の確認
command+7ボタンを使用して構造を表示する方法.
EX)

Structureによって作成されたメソッドを表示すると、

@Getterで作成する方法getIsNew()ではなく、isNew()です.
@SetterメソッドsetIsNew()ではなくsetNew()であることが確認できます
Booleanの場合、通常のget、setメソッドが生成されます.

すなわち,変数がbooleanの場合,Lombokは前にis prepixを加えてメソッドを自動的に生成する.
詳細については、Lombokの公式ドキュメントを参照してください.👉 Getter、Setter関連の公式文書
解決策は二つある
1πはBooleanタイプを採用

BooleanがLombokでgetメソッドを作成する場合、isではなくgetメソッドを使用してgetメソッドを生成します.ただし、null値が値に含まれない場合は、2つ目の方法を使用することが望ましい.
2直接作成"GetIsXXX()getter()メソッド


説明すると、
同じ名前(大文字と小文字を区別しない)と同じパラメータを持つメソッドが既に存在する場合、メソッドは作成されません.たとえば、メソッド「getFoo(String...)」既に存在する場合は、getFoo()は作成されません.x)「技術的にこの方法を作成できても.
同じ意味です.
getIsNew()を作成すると、isNewのgetterメソッドは既に存在し、isNewのgetメソッドは作成されないと考えられます.