Ich habe eine Serviceklasse, die mit @Validated annotiert ist. In dieser Klasse habe ich eine Methode mit einem Argument, das mit @Valid annotiert ist. Wenn die Methode von einer anderen Klasseninstanz mit einem ungültigen Argument aufgerufen wird, wird eine Ausnahme ausgelöst. Wie erwartet wird ein Fehler vom Typ ConstraintViolationException ausgelöst.Spring-Service-Methode Validierung
Wenn ich diese Methode von einer anderen Service-Methode (interner Aufruf) aufrufen, wird keine Validierung durchgeführt und es entsteht ein Fehler im Hauptteil der Methode. Das ist nicht was ich will. Anscheinend werden Anrufe von innen nicht bestätigt. Bei der Untersuchung des Problems habe ich festgestellt, dass die Methode nicht mit einer Spring-Proxy-Bean aufgerufen wurde. I das Problem behoben, indem die von dem Proxy (@Autowired) Anwendungskontext Abrufen und das Verfahren unter Verwendung des Proxy aufzurufen:
((T) context.getBean(this.getClass()).myMethod(validatedArgument)
Dies ist eine Lösung, hässlich. Wie kann ich Spring so konfigurieren, dass Methodenaufrufe von innen validiert werden?
Leider lässt Frühling dies nicht zu. –