spring配置异常通知 https://my.oschina.net/wuyizhong/blog/884392
通知类:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
public class ExceptionAdvisor implements ThrowsAdvice { // @AfterThrowing(pointcut = "execution(* com.ningpai..*.*(..))") public void afterThrowing(Method method, Object[] args, Object target, Exception ex) throws Throwable { // 在后台中输出错误异常异常信息,通过log4j输出。 // Logger log = Logger.getLogger(target.getClass()); // for (int i = 0; i < args.length; i++) { // log.error("arg[" + i + "]: " + args[i]); // } // log.error("Exception class: " + ex.getClass().getName()); // log.error("ex.getMessage():" + ex.getMessage()); // log.error(ex); ex.printStackTrace(); } } |
ApplicationContext.xml的相关配置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<bean id="exceptionHandler" class="com.project.interceptor.ExceptionAdvisor"></bean> <bean id="pointcutBean" class="org.springframework.aop.support.JdkRegexpMethodPointcut"> <property name="pattern"> <value>com.project.*</value> </property> </bean> <bean id="exceptionInterceptor" class="org.springframework.aop.support.DefaultPointcutAdvisor"> <property name="pointcut" ref="pointcutBean"/> <property name="advice" ref="exceptionHandler"/> </bean> <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator"> <property name="interceptorNames"> <list> <value>exceptionInterceptor</value> </list> </property> </bean> |