用Spring AOP實現系統日誌功能

2021-09-26 08:45:50 字數 689 閱讀 7682

一、專案要求

在實習專案中,遇到乙個需求,要寫文件資料管理、公告管理和系統日誌。其中系統日誌要將文件資料管理和公告管理中的操作記錄下來並插入資料庫的表中,為了解耦合,一開始擬定用過濾器或者aop來做,後來覺得aop經常聽到,但是沒有實操過,所以正好藉此機會學習一下,開搞!

aop基礎知識就不寫了,因為我要獲取返回值來判斷屬於什麼操作,所以我用的是@afterreturning

主要**如下:

private final string expgetresultdataponit = "execution(* com.capol.train.server.web.controller.*.*(..))";

/*** 根據返回結果插入日誌資料

* @param joinpoint

* @param keys

*/@afterreturning(value = expgetresultdataponit, returning = "keys")

public void insertlog(joinpoint joinpoint, object keys)

if(response.getdata() instanceof profilevo)

if(response.getdata() instanceof publicfilevo)

}}

Spring AOP實現方式

spring中4中aop區別 1.advisor類 需要依賴spring介面,spring版本比較低時可以採取這種方式 2.適合使用者從低版本spring遷移到高版本spring,重複利用以前advice類情況 3.使用配置檔案形式定義切面,比較推薦的一種方式,使用於對維護性要求較高的情況 4.as...

Spring AOP簡單實現

下面用乙個簡單示例演示aop的使用,在執行目標方法前執行日誌輸出。這也是aop最重要的作用,分離與業務無關的 建立target類,是被 的物件,有乙個execute方法。package com.home.web.manager public class target 建立通知類,可以攔截目標物件的e...

SpringAop註解實現

該簡單例子實現方法的前置增強列印日誌,簡單的來說就是在呼叫某個方法之前會呼叫另乙個方法 普通類 calculator component public class calculator public int sub int i,int j public int mul int i,int j pub...