Spring Bootで@RequiredArgsConstructorを使用してコンストラクタインジェクションを使用する
Lombokの@RequiredArgsConstructorアノテーションをクラスに指定するとfinalなフィールドを初期化するコンストラクタが生成されます。
※@RequiredArgsConstructorアノテーションはfinalをつけないとインジェクションされません
これにより今まで@Autowiredアノテーションでフィールドインジェクションしていたのが不要になります。
以下のようなイメージです。
@Service
@RequiredArgsConstructor
public class DemoService {
@NonNull
private final EmployeeRepository repository;// finalをつけること
// 省略
これでrepositoryがコンストラクタインジェクションされてDIされるようになります。
もっとlombokを使ってボイラープレートコードを排除したい場合は「Lombokの使い方」を参照ください。
参考サイト
@NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor

KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES20xx),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^


コメント