Spring AOP 基於XML檔案的配置

2022-09-17 17:33:11 字數 2244 閱讀 4827

spring aop的配置可以基於註解,也可以基於xml檔案。前面幾篇都是使用註解的方式。下面介紹下使用xml檔案如何配置

使用的測試類和切面類都類似。只需要屬於aop的註解去掉即可。下面是aop的xml配置:

1

<?

xml version="1.0" encoding="utf-8"

?>

2<

beans

xmlns

=""3xmlns:xsi

=""4xmlns:aop

=""5xmlns:context

=""6xsi:schemalocation

=" /spring-aop-4.1.xsd

7 /spring-beans.xsd

8 /spring-context-4.1.xsd"

>910

11<

bean

id="arithmeticcalculator"

class

="com.yl.spring.aop.xml.arithmeticcalculatorimpl"

>

bean

>

1213

1415

<

bean

id="loggingaspect"

class

="com.yl.spring.aop.xml.loggingaspect"

>

bean

>

1617

<

bean

id="validationaspect"

class

="com.yl.spring.aop.xml.validationaspect"

>

bean

>

1819

20<

aop:config

>

2122

<

aop:pointcut

expression

="execution(public int com.yl.spring.aop.xml.arithmeticcalculator.*(..))"

id="pointcut"

/>

2324

<

aop:aspect

ref="loggingaspect"

order

="2"

>

25<

aop:before

method

="beforemethod"

pointcut-ref

="pointcut"

/>

26<

aop:after

method

="aftermethod"

pointcut-ref

="pointcut"

/>

27<

aop:after-throwing

method

="afterthrowing"

pointcut-ref

="pointcut"

throwing

="e"

/>

28<

aop:after-returning

method

="afterreturning"

pointcut-ref

="pointcut"

returning

="result"

/>

2930

<

aop:around

method

="aroundmethod"

pointcut-ref

="pointcut"

/>

31aop:aspect

>

3233

<

aop:aspect

ref="validationaspect"

order

="1"

>

34<

aop:before

method

="vlidateargs"

pointcut-ref

="pointcut"

/>

35aop:aspect

>

36aop:config

>

3738

beans

>

七 SpringAOP入門案例(基於xml配置)

spring的aop是面向切面程式設計的意思,不需要改變原有 的基礎上對原有 進行增強 我們來看入門案例 首先建立乙個service介面 package com.lp.service date 2020 5 29 14 37 author luopeng public inte ce account...

Spring AOP(3)基於XML配置實現的示例

使用註解的方式配置切面類在程式出問題的時候不方便查詢問題,尤其是aop這種tricky的功能,因此在spring配置檔案中配置aop是乙個相對好的選擇 個人感覺 aop config aop pointcutid pointcut expression execution crm.service.a...

基於註解的Spring AOP

spring aop 基本概念 url joinpoint api url 1.定義註解 target retention retentionpolicy.runtime documented public inte ce testannotation 2.定義切面 切面 aspect 在sprin...