1 只有在切点报异常才能出发异常通知
2 在spring中AspectJ与scheme-base方式都提供了异常通知方法
3 实现步骤
3.1 新建类
public class MyThrowAdvice {
public void throwMethod(Exception e1) {
System.out.println("thorw" + e1.getMessage());
}
}
3.2在spring配置文件中配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd">
<bean id="throw" class="com.lee.advice.MyThrowAdvice"/>
<bean id="demo" class="com.lee.service.DemoService"/>
<aop:config>
<aop:pointcut expression="execution(* com.lee.service.*.*(..))" id="mypoint"/>
<aop:aspect ref="throw">
<aop:after-throwing method="throwMethod" pointcut-ref="mypoint" throwing="e1"/>
</aop:aspect>
</aop:config>
</beans>
3.2.1<aop:aspect>的ref表示方法在哪个类中
3.2.2<aop:after-throwing >表示方法后剖出,还有<aop:after/> <aop:around/><aop:before/>等
3.2.3method表示出发这个通知时,调用哪个方法
3.2.4 throwing:异常对象名,必须和通知中方法参数名相同(可以不写throwing这个属性)