🐙
SpringプロジェクトにLombokを導入【Gradle】
Lombokの導入
build.gradleの設定
まず、build.gradleファイルにLombokを追加します。Lombokの依存関係をcompileOnlyとannotationProcessorに追加することで、Lombokのアノテーションを使用できるようになります。
dependencies {
compileOnly 'org.projectlombok:lombok:1.18.24'
annotationProcessor 'org.projectlombok:lombok:1.18.24'
}
基本的なアノテーション
@Getterと@Setter
@Getterと@Setterは、フィールドのgetterとsetterメソッドを自動生成します。
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class User {
private Long id;
private String name;
}
@ToString
@ToStringは、toStringメソッドを自動生成します。
import lombok.ToString;
@ToString
public class User {
private Long id;
private String name;
}
@NoArgsConstructor, @AllArgsConstructor, @RequiredArgsConstructor
これらのアノテーションは、コンストラクタを自動生成します。
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.RequiredArgsConstructor;
@NoArgsConstructor
@AllArgsConstructor
@RequiredArgsConstructor
public class User {
private Long id;
private final String name;
}
@Data
@Dataは、@Getter、@Setter、@ToString、@EqualsAndHashCode、@RequiredArgsConstructorを一括で付与します。
import lombok.Data;
@Data
public class User {
private Long id;
private String name;
}
Springプロジェクトでの使用例
エンティティクラスの例
Spring BootアプリケーションでのLombokの使用例として、エンティティクラスを紹介します。
import lombok.Data;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
@Data
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
}
コントローラークラスの例
コントローラークラスも簡単に作成できます。
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/users")
public class UserController {
@GetMapping
public String getUsers() {
return "List of users";
}
}
【まとめ】
Lombokは、Springプロジェクトでの開発を大幅に効率化するための強力なツールです。定型的なコードの自動生成により、開発者はビジネスロジックに集中できるようになります。
Discussion