AOP經典2種配置示例

2021-06-26 11:18:03 字數 2072 閱讀 9522

第一種:

使用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...