Spring——AOP

AOP:Aspect Oriented Programming面向切面编程

作用:通常AOP来处理一些具有横切性质的系统性服务,如事务管理、安全检查、缓存、对象池管理。

实现原理:

Spring——AOP_第1张图片

AOP实际上是基于目标的代理类实现的。AOP代理是AOP框架自动生成的一个对象,该对象可作为目标对象使用。AOP代理包含目标对象的全部方法,但AOP代理中的方法与目标对象的方法存在差异,AOP方法在特定的切入点添加了增强处理,并回调目标方法。

Spring 中 AOP 代理由 Spring 的 IoC 容器负责生成、管理,其依赖关系也由 IoC 容器负责管理。因此,AOP 代理可以直接使用容器中的其他 Bean 实例作为目标,这种关系可由 IoC 容器的依赖注入提供。Spring 默认使用 Java 动态代理来创建 AOP 代理, 这样就可以为任何接口实例创建代理了。当需要代理的类不是代理接口的时候, Spring 自动会切换为使用 CGLIB 代理,也可强制使用 CGLIB。

你可能感兴趣的:(spring,AOP)