当前位置: 代码迷 >> Java Web开发 >> ThrowsAdvice不起作用解决方案
  详细解决方案

ThrowsAdvice不起作用解决方案

热度:214   发布时间:2016-04-17 00:16:16.0
ThrowsAdvice不起作用
我定义了一个类,实现了ThrowsAdvice接口,在afterThrowing方法里输出“拦截异常”,可它不起作用,控制台只是输出普通的异常信息,没有输出我自己写的“拦截异常”几个字

Hi类
Java code
public class Hi {    public  void sayHI(){                System.out.println("i say hi");        try {            throw new Exception("my exception");        } catch (Exception e) {            e.printStackTrace();        }    }}


ThrowsAdvice类:
Java code
import org.springframework.aop.ThrowsAdvice;public class MyThrowsAdvice implements ThrowsAdvice{    public void afterThrowing(Exception ex){        System.out.println("拦截异常");        System.out.println(ex);            }}


applicationContex.xml
HTML code
<?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"    xmlns:p="http://www.springframework.org/schema/p"    xsi:schemaLocation="http://www.springframework.org/schema/beans     http://www.springframework.org/schema/beans/spring-beans-2.0.xsd    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">    <bean id="hi" class="Hi"/>    <bean id="throw" class="MyThrowsAdvice"/>    <bean id="proxy" class="org.springframework.aop.framework.ProxyFactoryBean">        <property name="target">            <ref bean="hi"/>        </property>        <property name="interceptorNames">            <list>                 <value>proxy</value>            </list>        </property>    </bean></beans>


Test.java
Java code
import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class Test {        public static void main(String[] args) {        ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml");        Hi h=(Hi)ac.getBean("proxy");        h.sayHI();        }}



------解决方案--------------------
不要在方法里捕获
  相关解决方案