java aop記錄更新日誌

2021-09-19 06:06:47 字數 709 閱讀 1956

aop在面試的時候會被問到有什麼用途,在實際專案中還沒用到過,這次專案要求新增修改日誌,想了想,可以用aop啊。

不過我是最簡單方法的實現,只是針對單獨方法的,打算後期優化一下,像第三篇部落格學習

我用的是環繞通知,通過debug發現,

環繞通知,前置通知,後置通知的執行順序是:

進入環繞通知

環繞通知中的 jointpoint.proceed()方法進入業務方法

前置通知

業務方法執行完成

返回環繞通知繼續執行

退出環繞通知

後置通知

所以說環繞通知控制著業務方法的執行,可以修改業務方法的返回值

而且環繞通知也就相當於寫了乙個方法,在這個方法中控制是否呼叫業務方法,而在呼叫前和後可以進行操作

這裡不貼**了,大家參考上面三篇吧,但是提供一下思路

第一、就是先保證在呼叫方法時是可以進入環繞通知,那這件事情就成功一大半了。

第二、就是在呼叫業務方法前進行物件的比較,可以通過環繞通知的引數proceedingjoinpoint jointpoint 獲取到引數,並轉為對應實體。再根據此實體的id去資料庫裡取到舊的資料

第三、新老資料對比,我這裡是將新老資料都轉為map,然後找出map的同key不同value,記錄返回

參考的部落格: 第

四、在執行完業務方法後,記錄執行結果,並進行日誌入庫操作

記得優化一下,復用性更強。歡迎指正

更新日誌 售後CP更新日誌

記錄一下 售後cp更新日誌 2015 02 28 11 51 更新內容 1 版本公升級,框架公升級,框架公升級版本3.1.2.3 2 功能公升級,工作流斷開後可以自動重連。2014 10 10 14 03 更新內容 1 功能公升級,研發工單在填寫工作日誌時同步更新order task關聯表。2 可顯...

系統更新日誌

20161116 jquery.validate required 必選字段 remote 請修正該欄位 email 電子郵件驗證 url 驗證 date 日期驗證 dateiso 日期 iso 驗證 datede number 數字驗證 numberde digits 只能輸入整數 creditc...

foobox更新日誌

2021 11 22,6.1.6.8 版 公升級主程式到 foobar2000 v1.6.8 漢化版 asion 細微調整優化.2021 11 06,6.1.6.7 版 final 公升級主程式到 foobar2000 v1.6.7 漢化版 asion 編碼器及執行環境檔案,安裝包體積有所增大.分組...