Spring的AOP代理时出现的ClassCastException: $Proxy0 cannot be cast to (com......) 的解决办法
这是我的测试文件代码,EmployeeService类实现了EmployeeServiceInter的接口,一下这段代码是创建的EmployeeService对象,结果报错。
public class MyTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml");
EmployeeService employeeService=(EmployeeService) ac.getBean("employeeService");
Employee e=new Employee("lidawei", "123", "lidawei@163.com", new java.util.Date(), 8000f);
employeeService.addEmployee(e);
}
}
只要将修改后EmployeeServiceInter接口实现动态代理类即可,完美运行。修改后的代码如下:public class MyTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml");
EmployeeServiceInter employeeService=(EmployeeServiceInter) ac.getBean("employeeService");
Employee e=new Employee("lidawei", "123", "lidawei@163.com", new java.util.Date(), 8000f);
employeeService.addEmployee(e);
}
}