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

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

@RequiredArgsConstructorアノテーションをクラスに指定するとfinalなフィールドを初期化するコンストラクタが生成されます。
※@RequiredArgsConstructorアノテーションはfinalをつけないとインジェクションされません

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

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

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

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

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

参考サイト

@NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor

コメント

株式会社CONFRAGE ITソリューション事業部をもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む

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