0
Webリクエストから呼び出される@Serviceクラスがあります。コンストラクタを持つリストの中の@Autowiredオブジェクトを初期化する方法
これは実装タイプ
private List<Interface> interfaceServices;
@Autowired
public ValidateInterfaceService(List<Interface> interfaceServices) {
this.interfaceServices = interfaceServices;
}
リスト内の項目の一つがコンストラクタを持っている場合を除き、意図したとおり、この作品のオブジェクトのリストを初期化するコンストラクタを有します。
@Service
@Order(3)
public class EvaluateExampleWithConstructor implements Interface {
private LocalDate busDate;
@Autowired
public EvaluateExampleWithConstructor(LocalDate busDate) {
this.busDate = busDate;
}
私がしようとすると、コンストラクタに渡された値が、私はこれを初期化しない方法方法のために必要とされている場合
「デフォルトコンストラクタが見つからない」として、コードが実行することはできませんリストにこのクラスを持っている場合正しくリストされますか?
これは問題ではありません。主な問題は、あなたが実際にBeanを構築できるようにするLocalDate型のBeanを持たないということです。 –
Beanは、ValidateInterfaceServiceクラス内ではどこですか? @Autowired LocalDate busdate; ? –
アプリケーションのコンテキストではありません。あなたはコンストラクタで '@ Autowired'を持っていますので、' LocalDate'型のBeanを有効なBeanとして構築する必要があります。 –