这是我的doThrowing()方法
public Object doAround(ProceedingJoinPoint pjp) throws Throwable {
System.out.println("doAround---->");
long time = System.currentTimeMillis();
Object retVal = pjp.proceed();
time = System.currentTimeMillis() - time;
System.out.println("process time: " + time + " ms");
return retVal;
}
applicationContext.xml中对应的配置如下:
<aop:config>
<aop:aspect id="aspect4Loger" ref="loggerAspect">
<!--配置com.spring.service包下所有类或接口的所有方法-->
<aop:pointcut id="businessService"
expression="execution(public * com.spring.service..*.*(..))" />
<aop:before pointcut-ref="businessService" method="doBefore"/>
<aop:after pointcut-ref="businessService" method="doAfter"/>
<aop:around pointcut-ref="businessService" method="doAround"/>
<aop:after-throwing pointcut-ref="businessService" method="doThrowing" throwing="ex"/>
</aop:aspect>
</aop:config>
我其他的方法比如doBefore(),doAround()都可以执行,就这个始终无法执行,请问为什么?
另外,我的代码中确实抛出了异常的!
------解决思路----------------------
<aop:after-throwing>是有异常出现的时候才执行的 你没有产生异常 当然不执行了~~