网上的文章都说 /aop:aspectj-autoproxy配置了这句话的话就会强制使用cglib代理,如果proxy-target-class改成"false"的话就会先使用jdk动态代理如果不是接口来实现的话再使用cglib代理,但是我实验的时候如果proxy-target-class改成false的话永远是使用jdk动态代理啊,我也加了cglib的jar包了,这是为什么啊 难道网上说的都是错的?
你把其中一个bean实现的接口删掉(删掉后把原来用接口的地方都直接替换为实现类),再跑起来看看
proxy-target-class 默认就是false 即如果你的类实现了接口 那么就是jdk动态代理 否则还是走cglib(因为无法走jdk动态代理 ) 这就是默认的情况(即proxy-target-class 不设置 即为false)
proxy-target-class=true 即强制走cglib代理 即代理类 而不是接口