1. 程式人生 > >搭建Spring+mybatis報錯

搭建Spring+mybatis報錯

sun 測試類 ring source date spring [] oid pda

java.lang.ClassCastException: com.sun.proxy.$Proxy12 cannot be cast to com.bdqn.service.impl.UserServiceImpl

代理類無法強制轉換成接口實現類,這裏造成的原因主要因為在測試類中,變量的數據類型是實現類而非接口,本人代碼如下

public static void main(String[] args){
    ApplicationContext ac = new ClassPathXmlApplicationContext("resource/spring.xml");
    
    // 主要下面代碼的錯
    UserServiceImpl userService = (UserServiceImpl) ac.getBean("userService");
    
    userService.updateWork();
}

解決方案

第一種,配置文件中添加下面代碼,指定根據類創建代理類
<aop:aspectj-autoproxy proxy-target-class="true"/>

第二種,修改變量數據類型
UserService userService = (UserService) ac.getBean("userService");

搭建Spring+mybatis報錯