通知方法執行順序:
正常執行:
@before(前置通知)–> @after(後置通知)–> @afterreturning(正常返回)
異常執行:
@before(前置通知)–> @after(後置通知)–> @afterthrowing(方法異常)
try
catch
(bean***ception e)
finally
獲取通知方法的詳細資訊
@aspect
@component
public
class
logutils
//在目標方法執行之後執行
@afterreturning
(value =
"execution(public int com.hh.pojo.mymath.*(int,int))"
,returning =
"result"
)public
static
void
logreturn
(joinpoint joinpoint,object result)
//在目標方法出現異常時執行
@afterthrowing
(value =
"execution(public int com.hh.pojo.mymath.*(int,int))"
,throwing =
"exception"
)public
static
void
logexception
(joinpoint joinpoint,exception exception)
//在目標方法結束的時候執行
@after
("execution(public int com.hh.pojo.mymath.*(int,int))"
)public
static
void
logend
(joinpoint joinpoint)
}
public
class
mytest
}
@aspect
@component
public
class
logutils
;//在目標方法執行之前執行
//exception(訪問許可權符 返回值型別 方法簽名)
@before
("mypoint()"
)public
static
void
logstart
(joinpoint joinpoint)
//在目標方法執行之後執行
@afterreturning
(value =
"mypoint()"
,returning =
"result"
)public
static
void
logreturn
(joinpoint joinpoint,object result)
//在目標方法出現異常時執行
@afterthrowing
(value =
"mypoint()"
,throwing =
"exception"
)public
static
void
logexception
(joinpoint joinpoint,exception exception)
//在目標方法結束的時候執行
@after
("mypoint()"
)public
static
void
logend
(joinpoint joinpoint)
}
學習總結19
轉眼間一周的學習又匆匆過去,我們的考核也步入第一階段了尾聲,下一階段我們要進行的是重構我們的專案,將之前專案的一些問題解決,和將專案的功能變得更加貼近真實的流程,爭取做到將流程可以完整使用。近一階段的學習確實也經歷了許多的事情,專案的進行上也存在許多的磕磕絆絆,但是我們的方向都是一致的,相信大家也可...
Spring學習總結
xx list,arrays setmap properties null list setmap props xx xx xx xx xx 注意 autowiring能夠與顯式的wiring一起使用。初始化屬性 public inte ce pointcutpublic inte ce class...
Spring學習總結
注 我是參考 spring實戰 這本書的 一 2.1中我們要給juggler加乙個吟詩的功能,我們不可能說改變perform方法吧,那又有新的功能,我們又得改變這個方法,那再改變呢?頻繁的修改呢?我們不可能頻繁的修改這個方法。那再寫乙個poem介面,這樣子我們只要新的能夠吟詩的poticjuggle...