笑看尘世|Spring4基础二二-AOP篇-通知(2)-通知详解( 二 )
public void afterThrowing(Method method, Object[] args, Object target, Exception ex)
public void afterThrowing(Method method, Object[] args, Object target, ServletException ex)
自定义异常
//运算异常public class MathException extends Exception{public MathException(String msg) {super(msg);}}
异常通知
//异常通知public class MyThrowsAdvice implements ThrowsAdvice{public void afterThrowing(Exception ex){if(ex instanceof MathException){System.out.println("捕获...MathException异常");}}}
- 6.xml配置
beforeAdvice afterReturningAdvice methodInterceptor throwsAdvice
- 7.测试
@Testpublic void test1() throws MathException{ClassPathXmlApplicationContext application = new ClassPathXmlApplicationContext("applicationContext.xml");//获取代理对象IServiceDemo service = (IServiceDemo)application.getBean("serviceProxy");String str = service.doWork("doWork 。。。");//正常测试//String str1 = service.doWork("1");//异常测试System.out.println(str);application.close();//销毁}
- 正常测试结果
前置的通知-目标方法执行之前:[MethodBeforeAdvice]环绕通知[MethodInterceptor]:目标方法执行之前环绕通知[MethodInterceptor]:目标方法执行之后后置通知-目标方法执行之后:[AfterReturningAdvice]执行完毕--结果DOWORK 。。。
- 异常测试结果打印
前置的通知-目标方法执行之前:[MethodBeforeAdvice]环绕通知[MethodInterceptor]:目标方法执行之前异常通知[ThrowsAdvice]-捕获...MathException异常
- 异常测试结果控制台报错
com.spring.aop.advice.MathException: MathException异常出现了......at com.spring.aop.demo1.ServiceDemoImpl.doWork(ServiceDemoImpl.java:11)
- 笑看尘世|满满的复古味,高颜值ORICO磁带硬盘盒图赏
- 笑看尘世|永久关闭!马化腾也很无奈,曾拥有3亿用户的腾讯微博还是关服了
- 笑看尘世|连亏14年烧掉3000亿!“烧钱王”打破垄断,拿下5全球第一
- 笑看尘世|操作无法完成,因为其中的文件或文件夹已经在另一个程序打开
- 笑看尘世|库存受限,海运暴涨90%,旺季之下跨境电商何去何从?
- 笑看尘世|网络安全逐渐成为程序员的必备技能
- 笑看尘世|日本人:中国又开始“反人类”操作,切开5.8万亿海水造人工岛
- 笑看尘世|女子投诉生鲜快递被放丰巢30小时,快递称未贴生鲜面单,商家回应
- 笑看尘世|5G推动数字化转型
- 笑看尘世|全球最受欢迎的十部手机:第一没有意外,第二来自三星