第一種:
使用aop指定切面aspect,
id=
"logadvice"
class
="com.thinkmore.framework.monitor.log.logadviceinterceptor"
>
name
="cache"
>
local
="ehcache"
/>
proxy-target-class
="true"
>
id=
"txpointcut"
expression
="execution(* com.thinkmore.business.service..*.*(..))"
/>
order
="0"
ref=
"logadvice"
>
method
="intercept"
pointcut-ref
="txpointcut"
/>
logadviceinterceptor中需要實現上面指定的method方法--》intercept,而至於是哪種型別的通知,則看aop後面的配置,此處是aop:around,即環繞通知,環繞通知需要使用proceedingjoinpoint。
public
object
intercept
(proceedingjoinpoint
proceedingjoinpoint
)throws
throwable
{
return returnvalue= proceedingjoinpoint.proceed();
}
第二種:
使用切面+指定通知的實現類,具體是什麼通知,由實現類實現的介面決定。
id=
"logadvice"
class
="com.thinkmore.framework.monitor.log.logadviceinterceptor"
>
name
="cache"
>
local
="ehcache"
/>
proxy-target-class
="true"
>
id=
"logpointcut"
expression
="execution(* com.thinkmore.business.service..*.*(..))"
/>
advice-ref
="logadvice"
pointcut-ref
="logpointcut"
/>
上面的logadviceinterceptor需要實現implements methodinterceptor這個介面,這個介面表示環繞通知。
AOP經典2種配置示例
非常感謝 第一種 使用aop指定切面aspect,logadviceinterceptor中需要實現上面指定的method方法 intercept,而至於是哪種型別的通知,則看aop後面的配置,此處是aop around,即環繞通知,環繞通知需要使用proceedingjoinpoint。publi...
Spring中 aop的 xml配置(簡單示例)
aop,即面向切面程式設計,面向切面程式設計的目標就是分離關注點。比如 小明 一位孩子 想吃蘋果,首先得要有蘋果,其次才能吃。那麼媽媽負責去買水果,孩子負責吃,這樣,既分離了關注點,也減低了 的複雜程度 孩子類 component public class child public class mo...
Spring中 aop的 xml配置(簡單示例)
示例 aop,即面向切面程式設計,面向切面程式設計的目標就是分離關注點。比如 小明 一位孩子 想吃蘋果,首先得要有蘋果,其次才能吃。那麼媽媽負責去買水果,孩子負責吃,這樣,既分離了關注點,也減低了 的複雜程度 孩子類 component public class child public class...