用spring测试一个特别基础的AOP程序,但一运行不知怎么总是出cast的错误,大家帮忙看看啊接口1
package aop.co.jp;import org.aopalliance.intercept.Interceptor;
import org.aopalliance.intercept.MethodInvocation;public interface MethodInterceptor extends Interceptor { Object invoke(MethodInvocation invocation) throws Throwable;
}
实现接口1
package aop.co.jp;import org.aopalliance.intercept.MethodInvocation;public class MyAroundInterceptor implements MethodInterceptor { public Object invoke(MethodInvocation invocation) throws Throwable {

System.out.println("Befor Method");
Object rval = invocation.proceed();
System.out.println("after Method");

return rval;
}
}
Person接口
package aop.co.jp;public interface Person { void info();

}
Person接口实现
package aop.co.jp;public class PersonImpl implements Person {

private String name;
private int age;

public void setAge(int age) {
this.age = age;
}
public void setName(String name) {
this.name = name;
}

public void info() {

System.out.println("name " + name + "age " + age);
}}
Main类
package aop.co.jp;import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;public class BeanTest {

public static void main(String[] args) {
ApplicationContext ctx = new FileSystemXmlApplicationContext("bean.xml");

Person p = (Person)ctx.getBean("personFactory");

p.info();
}}
xml配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="personTarget" class="aop.co.jp.PersonImpl">
<property name="name">
<value>XiongMao</value>
</property>

<property name="age">
<value>14</value>
</property>
</bean>


<bean id="myAroundInterceptor" class="aop.co.jp.MyAroundInterceptor"/>

<bean id="personFactory" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces">
<value>aop.co.jp.Person</value>
</property>
<property name="target">
<value>personTarget</value>
</property>
<property name="interceptorNames">
<list>
<value>myAroundInterceptor</value>
</list>
</property>
</bean>

</beans>
错误提示
Exception in thread "main" java.lang.ClassCastException: aop.co.jp.MyAroundInterceptor
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:176)
at $Proxy0.info(Unknown Source)
at aop.co.jp.BeanTest.main(BeanTest.java:13)

这到底是怎么回事呢,我看了好几遍不太明白,值是可以取到的(name,age),但是执行info方法的时候就会报错,请教了!