2016-04-28 3 views
0

Wenn ich eine Service-Methode namens public void delete(int id); als Pointcut nehme, möchte ich einen Ratschlag nach der Rückgabe hinzufügen, aber ich weiß nicht, welche Art von Objekt gelöscht wurde (das Servlet, das den Service anruft, kennt den Typ) Wert), also habe ich mich gefragt, ob ich einen angepassten Wert an diesen nachträglichen Hinweis weitergeben kann, wenn er aktiviert wird, wie 'user'. Ich habe das entsprechende Dokument auf der Website von Spring bereits überprüft und weiß immer noch nichts. Ich würde deine Antwort schätzen, THX.Wie kann ich einen benutzerdefinierten Wert an eine Feder aop Beratung weitergeben?

+0

Sie haben eine 'void' Methode, also wird nichts zurückgegeben, so dass' AfterReturning' ein bisschen nutzlos ist. Was willst du erreichen? –

Antwort

0

Eine Lösung, aber die geforderten Refactoring in Service Methode

1) Refactoring

public class DeleteRequest { 
    String type; 
    Long id; 
} 

public boolean delete(DeleteRequest request){ // impl} 

2) Verwenden Sie Around Beratung 2.1) Vor der Ausführung der Methode fortfahren, lesen & übergebenen Parameter zu Objekt gelöscht werden werden für "XYZ" -Anforderung. 2.2) Capture Ergebnis der Ausführung der Delete-Methode Wenn es wahr ist, dann tun Sie Ihre Sachen

Hinweis: Ich habe diesen Ansatz für gelöschte Entity-Benachrichtigung verwendet. So, wie wir Entitätsinformationen im Nachhinein erhalten können, halten Sie daher Entitätsinformationen vor der Phase & verwenden Sie es in nach erfolgreicher Ausführung.

Verwandte Themen