AOP在Spring配置文件中配置

首先要理解AOP的概念:(点击这里)https://blog.csdn.net/q982151756/article/details/80513340

概述:博主的理解就是,其实就是对目标方法(point cut)前后添加其他的方法(advice)

以下是配置文件:

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:aop="http://www.springframework.org/schema/aop"
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
            http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.1.xsd">
     
        <!-- 配置bean -->
        <bean id="arithmeticCalculator" class="com.spring.aop.impl.xml.ArithmeticCalculatorImpl"></bean>
        <!-- 配置切面的bean -->
        <bean id="loggingAspect" class="com.spring.aop.impl.xml.LoggingAspect"></bean>
         
        <bean id="validationAspect" class="com.spring.aop.impl.xml.ValidationAspect"></bean>
         
        <!-- 配置AOP -->
        <aop:config>
            <!-- 配置切点表达式 -->
            <aop:pointcut expression="execution(* com.spring.aop.impl.xml.ArithmeticCalculator.*(..))" id="pointcut"/>
            <!-- 配置切面及通知,使用order指定优先级 -->
            <aop:aspect ref="loggingAspect" order="1">
                <!-- 环绕通知 -->
                <!--  
                    <aop:around method="aroundMethod" pointcut-ref="pointcut"/>
                -->
                <!-- 前置通知 -->
                <aop:before method="beforeMethod" pointcut-ref="pointcut"/>
                <!-- 后置通知 -->
                <aop:after method="afterMethod" pointcut-ref="pointcut"/>
                <!-- 异常通知 -->
                <aop:after-throwing method="afterThrowing"  pointcut-ref="pointcut" throwing="e"/>
                <!-- 返回通知 -->
                <aop:after-returning method="afterReturnning" pointcut-ref="pointcut" returning="result"/>
                 
            </aop:aspect>
            <aop:aspect ref="validationAspect" order="2">
                <!-- 前置通知 -->
                <aop:before method="validateArgs" pointcut-ref="pointcut"/>
            </aop:aspect>
        </aop:config>
    </beans>

配置说明:

目标方法定位: execution(* com.spring.aop.impl.xml.ArithmeticCalculator.*(…)) 其中 . 后面可以改成你自己的方法 * 代表这个下面所有的方法,(…) 代表任意参数数量和类型。

你方法的aop:pointcut 的别名: id = pointcut

添加的方法来源: loggingAspect

添加的方法:
<aop:before method=“beforeMethod” pointcut-ref=“pointcut”/>

<aop:after method=“afterMethod” pointcut-ref=“pointcut”/>

<aop:after-throwing method=“afterThrowing” pointcut-ref=“pointcut” throwing=“e”/>

<aop:after-returning method=“afterReturnning” pointcut-ref=“pointcut” returning=“result”/>

如果还不理解,可以跳转.到这里

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值