✍🏻Lombokと最新トレンド🧐


以前,ジェネレータを介して依存関係を注入することを理解した.
しかし、作成者、注入値を代入するコードなど、作成する必要があるものが多すぎます...
@Componentと@Autowiredの既存コードを使用します.
  @Component
  public class OrderServiceImpl implements OrderService {
      private final MemberRepository memberRepository;
      private final DiscountPolicy discountPolicy;
      
      @Autowired
      public OrderServiceImpl(MemberRepository memberRepository, DiscountPolicydiscountPolicy) {
          this.memberRepository = memberRepository;
          this.discountPolicy = discountPolicy;
      }
  }
ジェネレータを1つ置くだけで@Autowiredを省略できます.以下に示します.
 @Component
  public class OrderServiceImpl implements OrderService {
      private final MemberRepository memberRepository;
      private final DiscountPolicy discountPolicy;
      
      public OrderServiceImpl(MemberRepository memberRepository, DiscountPolicydiscountPolicy) {
          this.memberRepository = memberRepository;
          this.discountPolicy = discountPolicy;
      }
  }
最近では、以下に示すように、@Autowiredを省略して使用するコンストラクション関数は1つしかありません.ここでLombokライブラリの@RequiredArgConstructorを使えば、コードがきれいになります!
次のコードは、上記のLombokライブラリを適用した最終コードです.
@Component
  @RequiredArgsConstructor
  public class OrderServiceImpl implements OrderService {
      private final MemberRepository memberRepository;
      private final DiscountPolicy discountPolicy;
}
動作は既存のコードと同じです.実際のクラスを開き、以下のコードを追加しました~!
  public OrderServiceImpl(MemberRepository memberRepository, DiscountPolicy discountPolicy) {
      this.memberRepository = memberRepository;
      this.discountPolicy = discountPolicy;
  }
📝また、Lombokライブラリでは、@Getter/@Setterなど、開発に必要なさまざまな機能が提供されています.
ソース
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8/dashboard