java - Wie rufe ich einen Code standardmäßig auf, bevor ich eine statische Methode aufrufe?
淡淡烟草味
淡淡烟草味 2017-06-12 09:25:34
0
8
931

Ich habe jetzt eine Tool-Klasse mit statischen Methoden für externe Aufrufe.
Jetzt hoffe ich, dass vor jedem Aufruf dieser statischen Methoden eine Methode oder ein Codeblock aufgerufen wird, der Standardparameter festlegt.
Ähnlich wie das Hinzufügen eines statischen Codeblocks, aber der statische Codeblock wird nur einmal ausgeführt, wenn die Klasse initialisiert wird, und nicht jedes Mal, wenn die statische Methode aufgerufen wird, was meinen Anforderungen nicht entspricht.

Die grundlegende Lösung besteht darin, dieser Werkzeugklasse eine statische Methode hinzuzufügen und darin die gewünschten Einstellungen vorzunehmen. In diesem Fall muss ich jedoch Anweisungen hinzufügen, um diese Methode in allen anderen statischen Methoden aufzurufen, da es hier viele statische Methoden gibt , es sind bereits mehr als 30, und es werden noch mehr werden, also möchte ich faul sein und fragen, ob es eine Möglichkeit gibt, das Problem zu lösen?

Hmm. . Als ergänzende Erklärung: Nachdem ich das AOP in den Kommentaren gelesen hatte, stellte ich fest, dass es möglicherweise meine Anforderungen erfüllen kann.
Wenn es nur reiner Java-Code wäre, wäre es für mich schwierig, meine Bedürfnisse zu lösen, selbst wenn ich darüber nachdenke.

淡淡烟草味
淡淡烟草味

Antworte allen(8)
伊谢尔伦

....SF的处女答就给你了,
别想了 不行...

左手右手慢动作

aop 我实在不知道该怎么解答你这问题了

typecho

AOP

大家讲道理

我的SF处女答也送给你了,换个解决方案吧

扔个三星炸死你

就不该用静态,
如果一开始就是单例,
就可以有初始化了,

静态虽然可以定义一个类加载时执行的块,
但一般并不适用,

滿天的星座

虽然用派生类也可以实现,却只会更麻烦,不符合题主的方便快捷的目标。
各种方法相较之下,还是题主的在各个static方法里加一行代码来的快捷一些。
题主就复制粘贴一下吧,很快的。

过去多啦不再A梦

用正则表达式匹配出每个方法的开头,再插入你要的方法

三叔

方法参数加个callback即可,比如原先这么写public static void doSomeThing(Object args1)
现在这么写

public static void doSomeThing(Object args1,MyCallback callback){
    callback.execute(theargs...);
    //do other things...
}
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage