Lombokのインストールと使用

2829 ワード

Lombok使用
紹介する
プロジェクトでLombokを使用すると、多くの重複コードの書き込みを減らすことができます.例えばgetter/setter/toStringなどのメソッドの作成.
主に彼は動的にget、setなどの方法を生成することができて、企業の中でとても実用的で、属性を修正する時、get、set方法、tostring方法などを修正する必要はありません
IDEAでのインストール
IDEAの設定を開く->Pluginsオプションを選択->Browse repositoriesを選択->lombokの検索->インストールをクリック->インストール完了IDEAの再起動->インストール成功
 
導入依存
プロジェクトにLombok依存jarを追加し、pomファイルに次の部分を追加します.(不明バージョンはMavenウェアハウスで検索可能)


    org.projectlombok
    lombok
    1.16.18
    provided

ケース
@NoArgsConstructor
@Data    //   get,set,toString     
@AllArgsConstructor
@Accessors()
public class Student {
    private  @Getter  int id;  //   get  
    private  @Getter @Setter String name;
    
    //     Data       
    @Override
    public String toString() {
        return "Student{" +
                "id=" + id +
                ", name='" + name + '\'' +
                '}';
    }
}
Lombokの注釈
  • @Setter
  • @Getter
  • @Data
  • @Log(これは汎用注釈であり、具体的には多くの形式がある)
  • @AllArgsConstructor
  • @NoArgsConstructor
  • @EqualsAndHashCode
  • @NonNull
  • @Cleanup
  • @ToString
  • @RequiredArgsConstructor
  • @Value
  • @SneakyThrows
  • @Synchronized

  • 注記の詳細
    @Getterと@Setter
    この注釈はクラスまたは属性に使用され、この注釈はクラスでも属性でも使用できます.生成されたgetterは、ブール属性の規則に従います.例えばbooleanタイプのsexでは、getterメソッドはisSexであり、getSexではない
    注記を使用すると、既定では無パラメトリック構造が生成されます.対応するgetterhe setterメソッド 
    この注記は、単一のプロパティでも使用できます.デフォルトでは、非パラメトリック構造が生成されます. 
    @EqualsAndHashCode
    この注釈はクラスで使用され、この注釈はクラスレベルの注釈でequalshashCodeを同時に生成します.  注意関係を継承する際の注記の使用.詳しくは公式紹介を参照  継承関係がある場合は、callSuperパラメータをtrueに設定する必要があります.
    @Data
    この注記はクラスで使用され、@ToString,@EqualsAndHashCode,@Getter,@Setterを組み合わせた最も一般的な注記です.本質的には@Data注釈が使用され、クラスデフォルト@ToStringおよび@EqualsAndHashCode、および各フィールドには@Setterおよび@getterがある.注記はまた、パラメータとして@NonNullフィールドおよびfinalフィールドを使用できる共通の構造関数を生成します.@Data注釈は非常に有用であるが、他の注釈と同じ制御粒度はない.@Dataは、静的ファクトリを生成することができる単一のパラメータを提供し、staticConstructorのパラメータを必要な名前に設定し、Lombokが自動的に生成した構造関数をプライベートに設定し、開示された所与の名前の静的ファクトリメソッドを提供する. 
    @AllArgsConstructor
    この注釈はクラスで使用され、この注釈は全パラメータの構築方法を提供し、デフォルトでは無パラメータの構築は提供されません. 
    @NoArgsConstructor
    この注記はクラスで使用され、パラメータなし構造を提供します. 
    @RequiredArgsConstructor
    この注記はクラスで使用され、クラス内の@NonNull注記またはfinal修飾を持つすべてのメンバー変数を使用して対応する構築方法を生成します.