今天使用Spring的Aop使用动态代理类型转换失败,报了如下错误
在网上查了一番资料,原因如下,spring使用的动态代理有两种:JDK Proxy 和CGLIB。使用前者必须实现至少一个接口才能实现对方法的拦截。使用后者需要两个jar包:asm.jar和cglib.jar,并修改spring配置文件,我使用的是前者,不能用接口的实现类(UserServiceImpl)来转换Proxy的实现类,它们是同级,应该用共同的接口(UserService)来转换。将红色代码修改:
应改为:
ok完美解决