您的位置:首页 > 编程语言 > Java开发

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

2016-07-26 13:40 956 查看
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(); // 获取被切函数 的参数

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: