SpringAop的簡單使用

2021-10-07 11:06:10 字數 2823 閱讀 1191

2、註解配置aop

<

!-- 配置自定義事物類 --

>

"txmanage"

class

="cn.itsource._03_aopxml.txmanage"

/>

<

!--配置aop--

>

"txaop" expression=

"execution(* cn.itsource._03_aopxml.service.i*service.*(..))"

/>

<

!--配置切面(裡面包含需要執行的自定義**)--

>

"txmanage"

>

<

!--在這個切點(地方),執行這個事物類裡的begin方法--

>

"begin" pointcut-ref=

"txaop"

/>

<

!--後置通知--

>

"commit" pointcut-ref=

"txaop"

/>

<

!--異常通知--

>

"rollback" pointcut-ref=

"txaop" throwing=

"e"/

>

<

!--最終通知--

>

"close" pointcut-ref=

"txaop"

/>

<

!--環繞通知--

>

<

/aop:aspect>

<

/aop:config>

"txmanage"

class

="cn.itsource._03_aopxml.txmanage"

/>

<

!--配置aop--

>

<

!--配置切點--

>

"txaop" expression=

"execution(* cn.itsource._03_aopxml.service.i*service.*(..))"

/>

<

!--配置切面--

>

"txmanage"

>

<

!--環繞通知--

>

"around" pointcut-ref=

"txaop"

/>

<

/aop:aspect>

<

/aop:config>

*****=

*****=

*****=

*****=

*****=

*****=

=//proceedingjoinpoint :這裡面能得到自己的**

public

static

void

around

(proceedingjoinpoint joinpoint)

catch

(throwable e)

finally

}

@component

@aspect //切面註解

public

class

txmanage

//前置通知(需要切點才能定位要在哪個方法之前執行)

@before

("pointcut()"

)public

static

void

begin()

//後置通知

@afterreturning

("pointcut()"

)public

static

void

commit()

//異常通知,throwing:這裡面的引數,必須和下面傳的引數一樣

@afterthrowing

(value =

"pointcut()"

,throwing =

"e")

public

static

void

rollback

(throwable e)

@after

("pointcut()"

)public

static

void

close()

}

@component

@aspect //切面註解

public

class

txmanage

public

static

void

begin()

public

static

void

commit()

public

static

void

rollback

(throwable e)

public

static

void

close()

@around

("pointcut()"

)public

static

void

around

(proceedingjoinpoint joinpoint)

catch

(throwable e)

finally

}}

Spring AOP簡單使用方法

顧名思義 aop aspect oriented programming 字面意思是面向切面程式設計,aop所帶來的好處是能提取具有共同功能的 塊,比如使用者取款流程需要用到1.使用者密碼的驗證 2.使用者查詢餘額需要用到密碼的驗證 那麼兩者之間的共同密碼驗證功能的邏輯實現則可以提取出來,提取出來的...

spring aop 簡單例項

1。匯入spring 所需要的包 2 web.xml新增 註解方式 定義乙個介面 public inte ce springdao 實現類public class springtest implements springdao override public void deletestudent t...

Spring AOP簡單實現

下面用乙個簡單示例演示aop的使用,在執行目標方法前執行日誌輸出。這也是aop最重要的作用,分離與業務無關的 建立target類,是被 的物件,有乙個execute方法。package com.home.web.manager public class target 建立通知類,可以攔截目標物件的e...