api:
class clazz = joinpoint.gettarget().getclass(); //獲取目標類物件
string methodname = joinpoint.getsignature().getname(); //獲取切入點的方法名
string values = anno.value(); //獲取註解的value屬性值
securitycontext securitycontext = securitycontextholder.getcontext();
user user = (user)securitycontext.getauthentication().getprincipal(); //user是spring提供的
logaop:private date visittime; //訪問時間
private class clazz; //當前正在訪問的class物件
private method method; //當前正在訪問的method物件
@autowired
private isyslogservice syslogserviceimpl; //service層物件,用於將訪問日誌儲存到資料庫
@autowired //在web.xml中配置乙個requestcontextlistener***,由spring容器來注入資料
//前置通知
@before("pc()")
public void dobeforeadvice(joinpoint jp) throws nosuchmethodexception else
method = clazz.getdeclaredmethod(methodname, classes);
}}
//最終通知
@after("pc()")
public void doafteradvice() }}
}}
}
syslog實體類:private string id;
private date visittime;
private string visittimestr;
private string username;
private string ip;
private string url;
private long executiontime;
private string method;
Spring AOP 記錄日誌
spring aop 最常用的地方之一就是記錄日誌,這裡記錄除了記錄日誌描述外,還記錄了方法請求的引數,並將記錄儲存到資料庫。這裡用到了自定義註解,使用如下 public class operationlog implements serializable aop 日誌記錄,自定義註解 author...
spring aop簡單記錄
以spring aop的jdk實現為例,配置檔案如下 的物件 配置的advice或advisor advice advisor 1 targetproxy是乙個factorybean,getobject時產生 物件 2 物件被invoke時,把配置的advice或者advisor抽象成methodi...
spring aop學習記錄
aop 面向介面程式設計,也是面向多個物件程式設計。spring 5種通知 前置,後置,環繞,異常,引入通知。1.前置通知 繼承 org.springframework.aop.methodbeforeadvice 實現public void before method method,object ...