spring通知-BeforeAdvice和AfterReturningAdvice
来源:互联网 发布:淘宝瑕疵大牌化妆品 编辑:程序博客网 时间:2024/06/05 19:08
通知(advice)是springAOP中重要的一个核心模块。
spring 通知分为方法调用之前方法 调用之后 或者任何区间。
BeforeAdvice
1 前置通知是在目标方法调用之前执行。
2 通过实现MethodBeforeAdvice来植入前置通知
3 MethodBeforeAdvice接口的主要代码:``` public interface MethodBeforeAdvice extends BeforeAdvice { void before(Method var1, Object[] var2, Object var3) throws Throwable; } ```
4 前置通知的demo
4.1 目标业务类
/** * 目标业务类 * Created by engle on 16-5-14. */ public class Target{ public void log() { System.out.println("日志信息"); } }
4.2 前置通知实现类
/** * 业务执行前的通知 * Created by engle on 16-5-14. */public class BeforeMessage implements MethodBeforeAdvice{ @Override public void before(Method method, Object[] objects, Object o) throws Throwable { System.out.println("在日志之前通知"); }
4.3 测试类
/** * 测试类 * Created by engle on 16-5-14. */public class Test { public static void main(String[] args) { Target target = new Target(); BeforeAdvice before = new BeforeMessage(); AfterMessage after = new AfterMessage(); ProxyFactory factory = new ProxyFactory(); //设置代理工厂 factory.setTarget(log); //添加执行目标信息 factory.addAdvice(before); //添加执行前通知 Target proxy = (Target) factory.getProxy(); //获取代理对象 proxy.log(); }}
4.4 输出结果![这里写图片描述](http://img.blog.csdn.net/20160514121410510)
2 AfterReturningAdvice
- 后置通知是在目标方法调用之后执行。
- 通过实现AfterReturningAdvice来植入后置通知 。
- AfterReturningAdvice接口的主要代码:
public interface AfterReturningAdvice extends AfterAdvice { void afterReturning(Object var1, Method var2, Object[] var3, Object var4) throws Throwable; }
4.后置通知小demo(业务类和前置通知相同) 4.1 后置通知实现类
/** * 业务执行前的通知 * Created by engle on 16-5-14. */public class BeforeMessage implements MethodBeforeAdvice{ @Override public void before(Method method, Object[] objects, Object o) throws Throwable { System.out.println("在日志之前通知"); }}
4.2测试类
public class Test { public static void main(String[] args) { Target target = new Target(); BeforeAdvice before = new BeforeMessage(); AfterMessage after = new AfterMessage(); ProxyFactory factory = new ProxyFactory(); //设置代理工厂 factory.setTarget(log); //添加执行目标信息 factory.addAdvice(after); //添加执行后的通知 Target proxy = (Target) factory.getProxy(); //获取代理对象 proxy.log(); }}
4.3结果:
日志信息方法执行之后的通知
如果有问题可以私信或者留言给我
0 0
- spring通知-BeforeAdvice和AfterReturningAdvice
- Spring AfterReturningAdvice Demo
- spring-aop之AfterReturningAdvice
- Spring AOP中MethodBeforeAdvice、AfterReturningAdvice和MethodInterceptor的执行顺序
- Spring AOP Advice接口-MethodBeforeAdvice+AfterReturningAdvice
- 使用Spring(14)Spring AOP APIs(AfterReturningAdvice,MethodInterceptor,MethodBeforeAdvice)
- spring AOP和通知
- Spring AOP前置通知和后置通知
- Spring AOP--返回通知,异常通知和环绕通知
- Spring AOP--返回通知,异常通知和环绕通知(顶)
- Spring返回通知、异常通知和环绕通知
- Spring AOP切点和通知
- Spring AOP中的前置通知和后置通知详解
- spring aop 环绕通知around和其他通知的区别
- spring通知
- Spring AOP-通知-前置通知
- Spring AOP-通知-后置通知
- Spring-AOP-通知-环绕通知
- PhpStorm许可server地址
- Spring Boot 中使用log4jdbc记录SQL的运行时参数
- Bullet Physics Engine(物理引擎)中使用约束
- eclipse + pydev 创建django项目
- JSP简介
- spring通知-BeforeAdvice和AfterReturningAdvice
- split()方法字符串拆分
- 我生命中的钱事:创业!
- 菜鸟级别的Shiro配置、使用案例(一)
- stl set的用法
- SQL Server中常用的日期时间函数
- Android中使用Gson解析JSON数据的方法
- 《机器学习实战》预测数值型数据-回归(Regression)
- 阿里云VPS_Ubuntu安装python Xpath插件