Javaでsetter/getter自動生成するLombokが便利。IntelliJ+gradleでの設定

    はじめに {#-}

    Lombokという Javaのライブラリが便利。

    アノテーションを使うことで、getter, setter, toStoring, コンストラクタなどの、

    定型的なコードを自動生成することができる。

    gradleでのインストール {#gradle-}

    gradleでは、build.gradleのdependenciesに以下の行を追加する。

    dependencies {
        compileOnly 'org.projectlombok:lombok:1.16.18'
    }
    

    IntelliJ IDEAでの設定 {#intellij-idea-}

    まずは、プラグインを入れる。ツールバーのFile -> Preferences -> Plugins から、

    Lombokを検索して、インストール。

    次に、コンパイル時に、アノテーションからコードを自動生成する機能を有効にする。

    Preferences – Build, Execution, Deployment – Compiler – Annotation Processors を開き

    Enable annotation processing をチェック。

    ここまでできたら、IntelliJを再起動。

    使用例 {#-}

    いろいろと便利な機能があるのだが、つまみぐいして紹介。

    @Getter/@Setter {#-getter-setter}

    このアノテーションを使うと、getter/setterを自動生成してくれる。

    class Parson {
        private @Getter @Setter String name;
    }
    
    • getName()
    • setName()

    @ToString {#-tostring}

    このアノテーションを使うと、toStringを自動生成してくれる。

    @ToString
    class Parson {
        private @Setter String name;
    }
    

    Person(name=mikan) とか表示される。

    @Data {#-data}

    getter/setter/コンストラクタ/toString/equals/hashCode 自動生成。すごい。

    @Data
    class Group {
        private String name;
    }
    

    @AllArgsConstructor {#-allargsconstructor}

    フィールドを持つ変数を引数にするコンストラクタを自動生成。

    @AllArgsConstructor
    class Group {
        private String name;
        private int id;
    }
    
    • Group(String, int)