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(); // 获取被切函数 的参数
}
}
<!--注入通知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(); // 获取被切函数 的参数
}
}
相关文章推荐
- Eclipse调试(2)——各种类型断点设置
- Eclipse调试(2)——各种类型断点设置
- spring 时间设置
- Struts2 无后缀action请求
- 简单工厂模式java代码的实现
- 如何生成Java Key以及sign一个jar
- java.util.ConcurrentModificationException异常分析
- 在Spring IOC容器中配置Bean
- Rxjava学习笔记
- Java基础-深拷贝和浅拷贝的区别
- Spring AOP 的几个知识点
- Java实现顺序队列
- Java实现链式栈
- 06Spring_使用注解配置bean对象
- Struts2系列:(34)OGNL和Struts2 常用的tag
- Javaweb学习总结(一)--数据库连接池
- ubuntu14.04命令行直接安装jdk适合新手
- eclipse下新建hadoop项目
- IO流删除带内容的目录
- 使用cmd命令运行带有jar(架包)的Java程序