Java Lombok概要
Lombokとは
- アノテーションを宣言すると、
getter、setter、toString、equalsなどの「繰り返し書くコード」をコンパイル時に自動生成してくれる。 - ただし、GetterやSetterの自動生成を安易に行うと、オブジェクト指向を壊すことにもなる。
- そのため、利用しているフレームワークがGetterやSetterを必要としていて、やむを得ない場合でなければ、安易に使うべきではないかもしれない。
環境設定
Lombokはツールによって、別途プラグインのインストールや設定が必要になる。最近のIntelliJ IDEAであれば、別途プラグインをインストールしなくても、設定だけで動作する。各ツールごとのインストール方法を調べて設定してほしい。
Hello World
build.gradleを次のように作成する。
plugins {
id 'java'
}
group 'com.devkuma'
version '1.0-SNAPSHOT'
repositories {
mavenCentral()
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12'
compileOnly 'org.projectlombok:lombok:1.18.20'
annotationProcessor 'org.projectlombok:lombok:1.18.20'
testCompileOnly 'org.projectlombok:lombok:1.18.20'
testAnnotationProcessor 'org.projectlombok:lombok:1.18.20'
}
HelloLombokTutorial.javaファイルを作成し、次のようにコードを書く。
package com.devkuma.tutorial.lombok;
import lombok.Data;
@Data
public class HelloLombokTutorial {
private String string;
private int number;
public static void main(String[] args) {
HelloLombokTutorial tutorial = new HelloLombokTutorial();
tutorial.setString("Hello Lombok!!");
tutorial.setNumber(999);
System.out.println(tutorial);
}
}
実行結果:
Main(string=Hello Lombok!!, number=999)
- クラスに
@Dataアノテーションを宣言することで、getter、setter、toStringなどのメソッドが自動生成された。 - Lombok自体はコンパイル時だけ使用するため、依存スコープは
compileOnlyにする。