第1步:引入依赖(导包)

第2步:创建被代理对象实现的接口

第3步:创建被代理对象

第4步:创建切面类

- 在
afterReturning可以传入Object result在spring.xml中配置返回值。 - 在
afterThrowing可以传入Throwable throwable在spring.xml中配置异常值。
第5步:创建Spring配置文件

第6步:运行结果

完美!盖了帽了!
如果把接口去掉,Spring会用CGLIB的方式实现代理。

如果带有接口,Spring会用JDK动态代理实现。

但是,即使有接口,我们在配置文件中加上proxy-target-class="true"属性,也会用CGLIB代理。

不信?怀疑?你看看图嘛!同学,这是 Spring 5.3.1 版本哦,其他的版本,我不敢保证!这个版本,我亲自试验的哦!
本文详细讲解了Spring框架中使用JDK动态代理和CGLIB代理的区别,以及在接口存在时如何选择代理实现方式。重点介绍了配置proxy-target-class属性对代理方式的影响,并提供了Spring 5.3.1版本的实际验证。
1019

被折叠的 条评论
为什么被折叠?



