Spring Framework - So ändern Sie das Serviceattribut über das Webformular
-
22-12-2019 - |
Frage
Ich benutze Feder 4 und Thymeleaube, um meinen Antrag aufzubauen. Ich brauche einige Daten in der Sitzung speichern, sodass ich mich entschieden habe, einen Sitzungsdienst zu erstellen. Jetzt möchte ich die Service-Attibutes über das Webformular ändern. Ich habe versucht, dies zu tun:
Controller-Klasse
generasacodicetagpre.
Unfotunelly Nach dem Absenden des Formulars habe ich folgende Ausnahme gegeben:
verschachtelte Ausnahme ist org.springframework.beans.beaninstantiationException: konnte nicht Instantiate Bohnenklasse [com.webapp.service.myservice]: angegebene Klasse ist eine Schnittstelle] mit Hauptursache org.springframework.beans.beaninstantiationException: konnte nicht Instantiate Bohnenklasse [com.webapp.service.myservice]: angegebene Klasse ist eine Schnittstelle
Wenn ich MyService-Klasse anstelle von MyService-Schnittstelle schrieb, wird das Problem gelöst. Der obige Code ist jedoch nur Probe. In meinem echten Fall verwende ich viele Implementierungen des Dienstes, sodass ich Schnittstellen verwenden muss.
Lösung 2
Das Problem wird gelöst.Ich habe die Postaktionsmethode in das folgende Formular geändert:
generasacodicetagpre.Jetzt funktioniert es gut :)
Andere Tipps
Sie können keine Instanz der Schnittstelle erstellen, deshalb wirft es eine Ausnahme aus.Wenn der Frühling versucht, Werksmethoden für jede Bean-Deklaration aufzurufen, schlägt er fehl, da Sie anstelle von IT-Implementierung die Schnittstelle deklariert haben.
Einige Beispiel:
generasacodicetagpre.