我現在有一個工具類,裡面都是static方法,專用於外部呼叫。
現在希望在每次呼叫這些static方法之前,都先呼叫一個設定預設參數的方法或程式碼區塊。
類似於加入一段靜態程式碼區塊,但是靜態程式碼區塊只會在類別初始化的時候執行一次,而不是每次呼叫靜態方法的時候都會執行一遍,不符合我的要求。
基礎解決方案是在這個工具類別中加入一個static方法,在裡面進行我想要的設置,但是這樣的話我在其他所有的static方法中都要加上調用該方法的語句,因為我在這裡的static方法很多,已經有30多個了,而且還會再增加,所以想偷個懶,想問下有沒有方法解決?
嗯。 。補充說明下,我這個是spring mvc搭的項目框架,看評論中的AOP後去百度了下,可能能滿足我的要求,正在進一步嘗試中。
如果只是單純的java程式碼,我自己想想也很難解決我這個需求。
....SF的處女答就給你了,
別想了 不行...
aop 我實在不知道該怎麼解答你這問題了
AOP
我的SF處女答也送給你了,換個解決方案吧
就不該用靜態,
如果一開始就是單例,
就可以有初始化了,
靜態雖然可以定義一個類別載入時執行的區塊,
但一般並不適用,
雖然用衍生類別也可以實現,卻只會更麻煩,不符合題主的方便快速的目標。
各種方法相較之下,還是題主的在各個static方法裡加一行程式碼來的快捷一些。
題主就複製貼上吧,很快的。
用正規表示式配對出每個方法的開頭,然後插入你要的方法
方法參數加個callback即可,例如原先這麼寫public static void doSomeThing(Object args1)
現在這麼寫