测试 Spring aop时出现java.lang.ClassCastException的错误

王朝学院·作者佚名  2016-05-28
窄屏简体版  字體: 小  |  中  |  大  |  超大  

测试 SPRing aop时出现java.lang.ClassCastException的错误代码如下:

public class UserTest { private static UserServiceImpl userService ; @BeforeClass public static void iniUserService(){ applicationContext applicationContext = new ClassPathxmlApplicationContext("applicationContext.xml") ; userService = (UserServiceImpl) applicationContext.getBean("userService") ; } @Test public void test() { User user = new User(3,"shpengfish@Gmail.com","ysp","123456","yushipeng",new Date()) ; System.out.println(user); userService.saveEntity(user) ; }}

junit 报错

java.lang.ClassCastException: com.sun.proxy.$Proxy13 cannot be cast to com.ysp.surveypark.service.impl.UserServiceImpl后来上网搜索了下该问题,是因为 UserServiceImpl 实现了 UserService 接口,而该测试类中 却是使用 UserServiceImpl 声明的,这并没有体现出面向接口编程的思想,而 aop 使用的JDK 代理是基于接口的,因此报错,将实现类改为接口类型即可。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航