Spring AOP的兩種配置方式

2021-09-28 16:11:30 字數 2607 閱讀 4458

@before: 前置通知, 在方法執行之前執行

@after: 後置通知, 在方法執行之後執行

@afterrunning: 返回通知, 在方法返回結果之後執行

@afterthrowing: 異常通知, 在方法丟擲異常之後

@around: 環繞通知, 圍繞著方法執行

@aspect

@component

public

class

loggingaspect

//後置通知, 在方法執行之後執行

@after

("execution(* bean.calculator.*(int, int))"

)public

void

aftermethod

(joinpoint joinpoint)

//返回通知, 在方法返回結果之後執行

@afterreturning

(value =

"execution(* bean.calculator.*(int, int))"

,returning =

"result"

)public

void

afterreturning

(joinpoint joinpoint,object result)

//異常通知, 在方法丟擲異常之後

@afterthrowing

(value =

"execution(* bean.calculator.*(int, int))"

,throwing =

"e")

public

void

afterthrowing

(joinpoint joinpoint,exception e)

//環繞通知, 圍繞著方法執行

@around

("execution(* bean.calculator.*(int, int))"

)public object aroundmethod

(proceedingjoinpoint pjp)

catch

(throwable e)

//後置通知

system.out.

println

("the method "

+ methodname +

"<--");

return result;

}}

@order(1

)@aspect

@component

public

class

loggingaspect

//定義乙個方法,用來宣告切入表示式

//使用@pointcut宣告切入表示式

@pointcut

("execution(* bean.calculator.*(int, int))"

)public

void

expression()

//直接使用方法名引入當前的切入點表示式

@before

("expression()"

)public

void

beforemethod

(joinpoint joinpoint)

(1) 配置bean

(2) 配置切面bean

(3) 配置aop(配置切點表示式、配置切面及通知)

verificationaspect:驗證作用的切面

public

class

verificationaspect

}

<

!-- 配置 bean --

>

"calculator"

class

="bean.calculatorimpl"

>

<

/bean>

<

!-- 配置切面的 bean.

-->

"verification"

class

="bean.verificationaspect"

>

<

/bean>

<

!-- 配置 aop --

>

<

!-- 配置切點表示式 --

>

"point" expression=

"execution(* bean.calculator.*(int, int))"

/>

<

!-- 配置切面及通知 --

>

"verification" order=

"1">

"beforemehtod" pointcut-ref=

"point"

/>

<

/aop:aspect>

<

/aop:config>

spring aop註解與xml配置兩種方式

spring aop切面兩種使用方式 1.使用xml配置檔案的方式,個人感覺 比較清晰,能夠體現出明顯的層次感 以上部分為spring容器建立後管理的bean 以下為開啟aop的相關配置 junit 測試 runwith springjunit4classrunner.class contextco...

學習Spring aop兩種配置方式

aop 面向切面程式設計,它可以解決重複 aop有兩種方式 1 在springmvc servlet.xml中配置aop,應用bean檔案 2 在bean檔案的類上加 component component public class loging public object doaround pro...

SpringAop兩種配置 註解方式和xml配置

一,什麼是springaop?所謂的springaop就是面向切面程式設計,就是在你的原有專案功能上,通過aop去新增新的功能,這些功能是建立在原有的功能基礎上的,而且不會修改原來的動能 以及功能邏輯。例如你用銀行卡購物,購物付款,這是乙個功能。付款後,銀行向你的手機傳送一條取錢資訊,這就是新加的功...