Spring Bootで@RequiredArgsConstructorを使用してコンストラクタインジェクションを使用する

Spring Bootで@RequiredArgsConstructorを使用してコンストラクタインジェクションを使用する

@RequiredArgsConstructorアノテーションをクラスに指定するとfinalなフィールドを初期化するコンストラクタが生成されます。

これにより今まで@Autowiredアノテーションでフィールドインジェクションしていたのが不要になります。

以下のようなイメージです。

@Service
@RequiredArgsConstructor
public class DemoService {
  @NonNull
  private final EmployeeRepository repository;// finalをつけること
  // 省略

これでrepositoryがコンストラクタインジェクションされてDIされるようになります。

もっとlombokを使いたおしたい場合は「Lombokの使い方」を参照ください。

参考サイト

@NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor

コメント

タイトルとURLをコピーしました