Spring AOP配置與應用

2021-07-02 19:44:14 字數 2135 閱讀 6419

兩種方式:

a) 使用annotation

b) 使用xml

annotation

a) 加上對應的xsd檔案spring-aop.xsd

b) beans.xml

c) 此時就可以解析對應的annotation了

d) 建立我們的攔截類

e) 用@aspect註解這個類

f) 建立處理方法

g) 用@before來註解方法

h) 寫明白切入點(execution …….)

i) 讓spring對我們的***類進行管理@component

常見的annotation:

a) @pointcut 切入點宣告以供其他方法使用 , 例子如下:

@aspect

@component

publicclass

loginterceptor

@around("mymethod()")

publicvoidbefore(proceedingjoinpoint pjp) throws throwable

@afterreturning("mymethod()")

publicvoid afterreturning() throws throwable

@after("mymethod()")

publicvoid afterfinily() throws throwable

}

b) @before 發放執行之前織入

c) @afterreturning 方法正常執行完返回之後織入(無異常)

d) @afterthrowing 方法丟擲異常後織入

e) @after 類似異常的finally

f) @around 環繞類似filter , 如需繼續往下執行則需要像filter中執行filterchain.dofilter(..)物件一樣 執行 proceedingjoinpoint.proceed()方可,例子如下:

@around(「execution(* com.bjsxt.dao...(..))」)

publicvoidbefore(proceedingjoinpoint pjp) throws throwable

4. 織入點語法

a) void !void

b) 參考文件(* ..)

如果execution(* com.bjsxt.dao...(..))中宣告的方法不是介面實現則無法使用aop實現動態**,此時可引入包」 cglib-nodep-2.1_3.jar」 後有spring自動將普通類在jvm中編譯為介面實現類,從而打到可正常使用aop的目的.

5. xml配置aop

a) 把interceptor物件初始化

b)

:config

i. :aspect …..

1. :pointcut

2. :before

例子:

id="loginterceptor"

class="com.bjsxt.aop.loginterceptor">

bean>

id="point"

ref="loginterceptor">

expression=

"execution(public* com.bjsxt.service..*.*(..))"

id="mymethod"/>

method="before"

pointcut-ref="mymethod" />

method="around"

pointcut-ref="mymethod" />

method="afterreturning"

pointcut-ref="mymethod"/>

method="afterthrowing"

pointcut-ref="mymethod"/>

method="afterfinily"

pointcut="execution(public* om.bjsxt.service..*.*(..))" />

aop:aspect>

aop:config>

Spring AOP應用之XML配置

第一步 匯入jar包,和註解開發相同的jar,參考 第二步,寫介面和實現類 public inte ce roleservice component public class roleserviceimpl implements roleservice public void printrole s...

Spring AOP配置補充

感覺之前寫的那spring配置中的aop太繁瑣了。現在小小的整理一下。1 在xml中的配置 帶引數了!2 還可以在類中配置 直接在方法上 around execution com.lrl.action.register.userregister string args name public voi...

Spring AOP的配置問題

好長時間不維護自己的部落格了,好象沒有維護自己部落格的習慣,只要將東西記到電子日記本上就完了。將東西放到網上曬一曬更好。今天公司的網斷了,然後發現tomcat啟動時竞然報錯,報錯的資訊為 cvc elt.1 cannot find the declaration of element beans 查...