笑看尘世|Spring4基础二二-AOP篇-通知(2)-通知详解
上一章节《Spring4基础二一-AOP篇-通知(1)-入门讲解》
如果文中有纰漏,请多多指正!!!
一.通知详解
- 1.jar包引入
- 2.前置通知定义:MethodBeforeAdvice
//自定义前置通知public class MyMethodBeforeAdvice implements MethodBeforeAdvice{/*** @param method 目标对象要执行的方法* @param args 方法的参数* @param target 目标对象* @throws Throwable 如果这个对象想要终止调用 , 那么抛出异常 , 异常会返回给方法调用者 , 否则异常会被包装为运行时异常*/@Overridepublic void before(Method method, Object[] args, Object target) throws Throwable {System.out.println("前置的通知:[MyMethodBeforeAdvice]");}}
- 3.后置通知:AfterReturningAdvice
定义后置通知需要实现接口AfterReturningAdvice 。 该接口中有一个方法afterReturning() , 会在目标方法执行之后执行 。
//自定义后置通知public class MyAfterReturningAdvice implements AfterReturningAdvice{/*** 当方法成功返回之后运行* @param returnValue 如果方法有返回值 , 那么returnValue就是返回值* @param method 目标对象执行的方法* @param args 方法的参数* @param target 目标对象* @throws Throwable 同上*/@Overridepublic void afterReturning(Object returnValue, Method method,Object[] args, Object target) throws Throwable {System.out.println("后置通知:MyAfterReturningAdvice");}}
- 4.环绕通知:MethodInterceptor
//自定义环绕通知public class MyMethodInterceptor implements MethodInterceptor{/*** @param invocation 封装了目标对象和参数数组*调用它的invocation.proceed()方法即执行目标对象的方法 。* @return 返回增强处理后的方法执行的结果*/@Overridepublic Object invoke(MethodInvocation invocation) throws Throwable {System.out.println("环绕通知:目标方法执行之前");// 执行目标方法Object result = invocation.proceed();System.out.println("环绕通知:目标方法执行之后");if(result != null) {//可以改变目标方法的返回值result = ((String)result).toUpperCase();}return result;}}
- 5.异常通知:ThrowsAdvice
public void afterThrowing(Exception ex)
public void afterThrowing(RemoteException)
- 笑看尘世|满满的复古味,高颜值ORICO磁带硬盘盒图赏
- 笑看尘世|永久关闭!马化腾也很无奈,曾拥有3亿用户的腾讯微博还是关服了
- 笑看尘世|连亏14年烧掉3000亿!“烧钱王”打破垄断,拿下5全球第一
- 笑看尘世|操作无法完成,因为其中的文件或文件夹已经在另一个程序打开
- 笑看尘世|库存受限,海运暴涨90%,旺季之下跨境电商何去何从?
- 笑看尘世|网络安全逐渐成为程序员的必备技能
- 笑看尘世|日本人:中国又开始“反人类”操作,切开5.8万亿海水造人工岛
- 笑看尘世|女子投诉生鲜快递被放丰巢30小时,快递称未贴生鲜面单,商家回应
- 笑看尘世|5G推动数字化转型
- 笑看尘世|全球最受欢迎的十部手机:第一没有意外,第二来自三星