lombokというライブラリを使うと、JavaBeanクラスにおいて、アノテーション付与するだけで、getterメソッド・setterメソッドを利用することができるため、JavaBeanクラスのソースコードを大幅に短くすることができる。
ただし、IntelliJ IDEA上でlombokを使えるようにするには、build.gradleにライブラリを追加するだけでなく、Lombokプラグインを追加したり、注釈プロセッサーの設定変更をしたりする必要もある。
今回は、lombokを使うためのIntelliJ IDEA上での設定方法と、lombokを使ったサンプルプログラムについて共有する。
前提条件
以下の記事のIntelliJ IDEAのインストールが完了していること。
また、以下の記事のSpring BootのWEB画面用アプリの作成手順において、「IntelliJ IDEA上でSpring Bootプロジェクトの読み込み」までの手順が完了していること。
やってみたこと
Lombokプラグインの追加
IntelliJ IDEA上でlombokを使えるようにするには、gradleに設定を追加するだけでなく、IntelliJ IDEAのプラグインとして追加する必要がある。その手順は以下の通り。
2) 「プラグイン」を選択後、「マーケットプレース」タグを選択し、Lombokプラグインを探した上で、「Install」ボタンを押下

5) 下記ダイアログが表示されるので、「再開」ボタンを押下

その後、IntelliJ IDEAが自動的に再起動されるので、再起動を待つ
注釈プロセッサーの設定変更
IntelliJ IDEA上でlombokを使えるようにするには、さらに、注釈処理の注釈プロセッサーを使用できるようにする必要がある。その手順は以下の通り。
2)「ビルド、実行、デプロイ」→「コンパイラー」→「注釈プロセッサー」を順に選択し、「注釈処理を使用可能にする」チェックボックスにチェックを入れ、「適用」ボタンを押下

サンプルプログラムの作成と実行
今回、サンプルプログラムは、Spring BootのWEB画面用アプリ作成時に利用しているdemoプロジェクト内に作成した。そのプログラム構成は以下の通りであるが、今回は「build.gradle」「SampleForm.java」「CallSampleForm.java」のみ利用している。

また、build.gradleは以下の通りで、lombokライブラリ(lombok:1.18.10)についての記述を2行追加している。
plugins {
id 'org.springframework.boot' version '2.1.7.RELEASE'
id 'java'
}
apply plugin: 'io.spring.dependency-management'
group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'org.springframework.boot:spring-boot-starter-web'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
compileOnly 'org.projectlombok:lombok:1.18.10'
annotationProcessor 'org.projectlombok:lombok:1.18.10'
}
build.gradleを更新すると、下図のように、外部ライブラリ内に、lombokライブラリが追加されることが確認できる。

さらに、「SampleForm.java」「CallSampleForm.java」はそれぞれ以下の通りで、JavaBeanクラスである「SampleForm.java」において、アノテーション付与するだけで、getterメソッド・setterメソッドを利用できていることが確認できる。
package com.example.demo;
import lombok.Getter;
import lombok.Setter;
public class SampleForm {
/**
* lombokのアノテーションを付与したsampleVal
* @Getter を付与することでgetterメソッドが、
* @Setter を付与することでsetterメソッドが、
* 自動的に生成される
*/
@Getter
@Setter
private String sampleVal;
}
package com.example.demo;
public class CallSampleForm {
public static void main(String[] args){
SampleForm form = new SampleForm();
//SampleForm内の、sampleValのsetterメソッドの呼び出し
form.setSampleVal("Set Sample Val.");
//SampleForm内の、sampleValのgetterメソッドの呼び出し
String str = form.getSampleVal();
System.out.println(str);
}
}
また、サンプルプログラムの実行結果は以下の通りで、sampleValに設定した値の出力が確認できる。

要点まとめ
- lombokを利用すると、変数に「@Getter」「@Setter」の各アノテーションを付与するだけで、getterメソッド・setterメソッドを利用できる
- IntelliJ IDEA上でlombokを使えるようにするには、Lombokプラグインの追加と、注釈処理を使用可能にする設定変更を行った上で、build.gradleのdependenciesにlombokライブラリを追加する必要がある。










