java - 如何在調用static方法前默認調用一段代碼?
問題描述
我現在有一個工具類,里面都是static方法,專用于外部調用。現在希望在每次調用這些static方法之前,都調用一個設置默認參數的方法或者代碼塊。類似于加入一段靜態代碼塊,但是靜態代碼塊只會在類初始化的時候執行一次,而不是每次調用靜態方法的時候都會執行一遍,不符合我的要求。
基礎解決方案是在這個工具類中添加一個static方法,在里面進行我想要的設置,但是這樣的話我在其他所有的static方法中都要加上調用該方法的語句,因為我這里的static方法有很多,已經有30多個了,而且還會進一步增加,所以想偷個懶,想問下有沒有方法解決?
嗯。。補充說明下,我這個是spring mvc搭的項目框架,看評論中的AOP后去百度了下,可能能滿足我的要求,正在進一步嘗試中。如果只是單純的java代碼,我自己想想也很難解決我這個需求。
問題解答
回答1:....SF的處女答就給你了,別想了 不行...
回答2:aop 我實在不知道該怎么解答你這問題了
回答3:AOP
回答4:我的SF處女答也送給你了,換個解決方案吧
回答5:就不該用靜態,如果一開始就是單例,就可以有初始化了,
靜態雖然可以定義一個類加載時執行的塊,但一般并不適用,
回答6:雖然用派生類也可以實現,卻只會更麻煩,不符合題主的方便快捷的目標。各種方法相較之下,還是題主的在各個static方法里加一行代碼來的快捷一些。題主就復制粘貼一下吧,很快的。
回答7:用正則表達式匹配出每個方法的開頭,再插入你要的方法
回答8:方法參數加個callback即可,比如原先這么寫public static void doSomeThing(Object args1)現在這么寫
public static void doSomeThing(Object args1,MyCallback callback){ callback.execute(theargs...); //do other things...}
相關文章:
1. javascript - 關于vue組件之間的通信2. javascript - 請問 chrome 為什么會重復加載圖片資源?3. pycharm運行python3.6突然出現R6034問題,請問如何處理?4. java - 為什么hibernate查詢表集報錯?5. 個人主頁博客統計中的“進入博客”不能點擊6. java - 想使用別人項目中maven引入的jar包,就是那個.class文件,要怎么操作?7. 就一臺服務器,mysql數據庫想實現自動備份,如何設計?8. 請問一下,圖片上傳成功,但是后臺對應文件夾里面卻沒有圖片,這是什么原因?(已部署到服務器)9. c++ - web 端口80 81 等等都可以開連接 exe端口卻打不開10. mysql 5個left關鍵 然后再用搜索條件 幾千條數據就會卡,如何解決呢
