Ich habe eine @ Service Klasse, die von einer Webanforderung aufgerufen wird.Wie @Autowired Objekte innerhalb einer Liste initialisiert werden, die einen Konstruktor haben
Es hat einen Konstruktor, der die Liste der Objekte eine implementierten Art einen Konstruktor hat Dies funktioniert wie beabsichtigt, außer wenn eines der Elemente in der Liste
private List<Interface> interfaceServices;
@Autowired
public ValidateInterfaceService(List<Interface> interfaceServices) {
this.interfaceServices = interfaceServices;
}
initialisiert.
@Service
@Order(3)
public class EvaluateExampleWithConstructor implements Interface {
private LocalDate busDate;
@Autowired
public EvaluateExampleWithConstructor(LocalDate busDate) {
this.busDate = busDate;
}
Wenn ich versuche, und haben diese Klasse auf der Liste der Code nicht so laufen „kein Standard-Konstruktor wird gefunden“
Wenn der Wert in den Konstruktor übergeben für das Verfahren benötigt wird, wie ich dies tun initialisieren richtig auflisten?
Das sollte nicht wichtig sein. Ich denke, das Hauptproblem ist, dass Sie keine Bohne vom Typ 'LocalDate' haben, die dafür sorgen würde, dass die Bohne tatsächlich konstruiert werden kann. –
Eine Bean innerhalb der ValidateInterfaceService-Klasse? @Autowired LocalDate busdate; ? –
Nein in Ihrem Anwendungskontext. Sie haben '@ Autowired' für Ihren Konstruktor, daher muss eine Bean vom Typ' LocalDate' als gültige Bean erstellt werden. –