笑看尘世|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个技巧
- 笑看尘世|永久关闭!马化腾也很无奈,曾拥有3亿用户的腾讯微博还是关服了
- 笑看尘世|连亏14年烧掉3000亿!“烧钱王”打破垄断,拿下5全球第一
- 笑看尘世|操作无法完成,因为其中的文件或文件夹已经在另一个程序打开
- 笑看西瓜|一人把皇帝吓死,一人长得很俊很阳刚,古代权力最大的3名太监
- 笑看尘世|库存受限,海运暴涨90%,旺季之下跨境电商何去何从?
- 笑看灯火阑珊|其实下半句才是精华所在,当时却无人敢说,俗话“说曹操曹操到”
- 笑看尘世|网络安全逐渐成为程序员的必备技能
- 笑看尘世|日本人:中国又开始“反人类”操作,切开5.8万亿海水造人工岛