Spring Aop异常 1

报错:com.sun.proxy.$Proxy10 cannot be cast to org.lanqiao.service.impl.StudentServiceImpl:

1.知识点:

        Spring AOP实现的两种方式:

        1.使用JDK动态代理,如果被代理的目标实现了至少一个接口,则会使用JDK动态代理,所有该目标类型实现的接口都会被代理。

        2.通过CGLIB来为目标对象创建代理,若该目标对象没有实现任何接口,则创建一个CGLIB代理,创建的代理类是目标类的子类。

2.错误分析:

         我用StudentServiceImpl实现了StudentService接口,aop应该使用了JDK Proxy。不能将实现类(StudentServiceImpl)直接转换为proxy的实现类。

3.总结:

         在spring中,没有涉及AOP,只是将对象加到IOC容器中,就不用代理,也就不会报这种cannot be cast 无法转换类型异常。

        

猜你喜欢

转载自blog.csdn.net/shuyuan_shisi/article/details/99955383