对于最新的稳定版本,请使用 Spring Framework 6.2.0spring-doc.cn

AOP 代理

Spring AOP 默认使用标准 JDK 动态代理作为 AOP 代理。这 允许代理任何接口(或一组接口)。spring-doc.cn

Spring AOP 也可以使用 CGLIB 代理。这对于代理类而不是 接口。默认情况下,如果业务对象未实现 接口。由于对接口而不是类进行编程是一种很好的做法,因此业务 类通常实现一个或多个业务接口。在那些(希望很少见的)情况下,您可以强制使用 CGLIB 需要通知未在接口上声明的方法,或者需要通知 将代理对象作为具体类型传递给方法。spring-doc.cn

掌握 Spring AOP 是基于代理的事实是很重要的。请参阅 Understanding AOP Proxies 以彻底检查它的具体内容 implementation detail 实际上是 Implementation。spring-doc.cn