Feld kann nicht auf com.sun.proxy. $ Proxy gesetzt werden

8

Beim Hochladen von Dateien versuche ich, einen Validator in meinen Spring Controller wie folgt zu injizieren und zu verwenden:

%Vor%

Hier ist mein Validator:

%Vor%

Hier ist das File-Objekt, das ich zu validieren versuche:

%Vor%

Und hier ist der Fehler, den ich bekomme, wenn ich versuche, meine Anwendung zu starten:

%Vor%

Ich weiß nicht, was passiert. Kann jemand helfen?

    
FunnyJava 09.06.2016, 12:43
quelle

2 Antworten

14
  

Das 'FileValidator'-Feld' FileController.validator 'kann nicht auf' com.sun.proxy. $ Proxy101 '

gesetzt werden

FileValidator ist eine Klasse, keine Schnittstelle.

com.sun.proxy.$Proxy101 ist ein Schnittstellen-Proxy, kein Klassen-Proxy.

Es gibt zwei Möglichkeiten, dies zu lösen. Entweder injizieren Sie den Validator über eine Schnittstelle, z. B .:

%Vor%

oder aktivieren Sie Klassenproxies, z. B .:

%Vor%

Das sind nur Beispiele, es wird andere Wege geben, diese beiden Lösungen zu implementieren.

    
OrangeDog 09.06.2016, 12:59
quelle
0

Autowire die Schnittstelle von FileValidator(class) in deiner Klasse FileController . Dazu müssen Sie @Qualifier nicht wie folgt angeben:

%Vor%     
pgcool 31.01.2018 13:34
quelle