Spring@RequiredArgConstructorを使用して「注入作成者」を宣言
依存性注入のタイプは、Constructor(作成者) Setter
注入コンストラクタの欠点は,上のコンストラクタ(コンストラクタ)コードのようにコンストラクタの作成が困難であることである.しかし、これを補うために、
@RequiredArgsConstructor
Constructor(생성자)
、Setter
、Field
である.public class ExampleCase {
private final ChocolateService chocolateService;
private final DrinkService drinkService;
@Autowired
public ExampleCase(ChocolateService chocolateService, DrinkService drinkService) {
this.chocolateService = chocolateService;
this.drinkService = drinkService;
}
}
public class ExampleCase{
private ChocolateService chocolateService;
private DrinkService drinkService;
@Autowired
public void setChocolateService(ChocolateService chocolateService){
this.chocolateService = chocolateService;
}
@Autowired
public void setDrinkService(DrinkService drinkService){
this.drinkService = drinkService;
}
}
3.Fieldpublic class ExampleCase{
@Autowired
private ChocolateService chocolateService;
@Autowired
private DrinkService drinkService;
}
@RequiredArgsConstructorを使用して注入構造関数を宣言する方法
注入コンストラクタの欠点は,上のコンストラクタ(コンストラクタ)コードのようにコンストラクタの作成が困難であることである.しかし、これを補うために、
롬복
を用いて生成者注入方式を簡単に符号化することができる.@RequiredArgsConstructor
final
追加フィールドを自動的に生成するジェネレータまたは@NotNull
フィールド注入を使用した既存のサービス@Service
public class BannerServiceImpl implements BannerService {
@Autowired
private BannerRepository bannerRepository;
@Autowired
private CommonFileUtils commonFileUtils;
@RequiredArgsConstructorを使用して作成者に注入 @Service
@RequiredArgsConstructor
public class BannerServiceImpl implements BannerService {
private final BannerRepository bannerRepository;
private final CommonFileUtils commonFileUtils;
...
@RequiredArgsConstructorを使用しない場合は、このようにジェネレータに注入する必要があります. @Service
public class BannerServiceImpl implements BannerService {
private BannerRepository bannerRepository;
private CommonFileUtils commonFileUtils;
@Autowired
public BannerServiceImpl(BannerRepository bannerRepository, CommonFileUtils commonFileUtils) {
this.bannerRepository = bannerRepository;
this.commonFileUtils = commonFileUtils;
}
...
Reference
この問題について(Spring@RequiredArgConstructorを使用して「注入作成者」を宣言), 我々は、より多くの情報をここで見つけました https://velog.io/@developerjun0615/Spring-RequiredArgsConstructor-어노테이션을-사용한-생성자-주입テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol