spring aop 之获取 被切函数 参数及返回值

本文介绍了一种使用Spring AOP实现后置通知的方法。通过定义AOP配置文件及通知Bean,可以在目标方法执行完成后执行特定操作。适用于需要在业务方法成功执行后进行额外处理的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、定义 后置类型的AOP配置文件
<!--注入通知bean  即执行完被切函数之后执行的bean-->
 <bean id="testAfterAop" class="com.intcache.god.rpcAop.TestAop"></bean>
    <aop:config>
        <!-- 定义切点 -->
        <aop:pointcut id="pointcutTarget"
                      expression="execution(* com.intcache.god.controllers.DevController.doAddDevice(..))"/>
        <!-- 定义切面 -->
        <!--pointcut-ref {切入点}
                  arg-names {joinPoint:通知函数的第一个参数 reValue:通知函数的第二个参数}
                  returning {retValue:被切函数的返回值}
                  method{通知函数}
                  -->
        <aop:aspect id="userAspect" ref="testAfterAop">
            <aop:after-returning
                    pointcut-ref="pointcutTarget"
                    arg-names="joinPoint,retValue"
                    returning="retValue"
                    method="aspectMethod"
                    />
        </aop:aspect>
    </aop:config>

2、定义 通知bean
package com.intcache.god.rpcAop;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.ProceedingJoinPoint;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.Map;
/**
 * Created by CachePro on 2016/7/14.
 */
public class TestAop {


    /**
     * 后置通知 【即 被切函数执行完之后 执行该 函数】
     * @param joinPoint
     * @param retValue 被切函数的返回值
     */
    public  void aspectMethod(JoinPoint joinPoint,Object retValue){
        Object object[] = joinPoint.getArgs(); // 获取被切函数 的参数
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值