Gibt es eine Möglichkeit, dass eine Methode in einer Klasse jedes Mal ausgeführt werden kann, wenn eine Methode dieser Klasse aufgerufen wird.Aufruf einer Methode vor jedem Methodenaufruf dieser Klasse in Java
Ich werde kurz von meinem Szenario hier geben:
Class Util{
private isConnected(){
if(!xxxapi.connected())
throw new MyException(....)
}
public createFile(){....}
public removeFile(){....}
}
Also, immer wenn ich new Util.createFile()
Ich möchte rufen, dass isConnected() aufgerufen wird, bevor createFile()
tatsächlich beginnt. Offensichtlich Ich kann isConnected()
jedes Mal beim Start jeder Methode aufrufen, aber ich fragte mich, ob ich eine andere Lösung haben kann.
Gibt es einen anderen Vorschlag/eine Lösung für ein solches Szenario?
Sie sollten wahrscheinlich Reflexion apis erkunden. Mit Reflektion können Sie dies erreichen. Wenn Sie in Ordnung sind, Framework zu verwenden, können Sie wahrscheinlich in Spring AOP suchen, das für Ihren Anwendungsfall da ist. – sakura
Sie könnten AOP verwenden, aber wenn Sie diese Methode beim Start _every_ Methode aufrufen möchten, werden Sie wahrscheinlich nicht viel davon (in Bezug auf die Entwicklerleistung) bekommen. – Thomas
Ich denke, Sie sollten in Annotationen für eine elegantere Lösung suchen – BigMike