Gibt es eine Möglichkeit diesen Code Arbeit zu machen?Java: Einfache Technik für die Annotation-basierte Code-Injektion?
LogonControl.java
@Audit(AuditType.LOGON)
public void login(String username, String password) {
// do login
}
AuditHandler.java
public void audit(AuditType auditType) {
// persist audit
}
Endgame wird, dass jedes Mal, Login() aufgerufen wird, Audit() wird auch mit der entsprechenden audittype genannt.
Ich denke, AOP ist wahrscheinlich die Lösung, aber ich möchte es so einfach wie möglich (die AspectJ Tutorials, die ich mir angesehen habe, haben normalerweise sehr komplizierte Anmerkungen).
Hinweis: Ich will nicht die Methoden vordefinieren haben, die Prüfung nennen, ich dies für ein erweiterbares Framework zu schreiben, und andere müssen es benutzen.
Was tun sollte der Code? Soll die Methode audit() jedes Mal aufgerufen werden, wenn eine Methode aufgerufen wird, die mit @Audit versehen ist? –
@Esko Luontola - ja, genau. –