Spring框架汇总(Spring AOP——理论基础)

一、Spring AOP是什么?

    AOP(Aspect-Oriented Programming),被译为“面向切面编程”,是通过预编译的方式或运行时动态代理方法(详见:《Spring框架汇总(理论篇——代理模式)》)实现业务中的扩展功能。AOP与OOP两种编程思想共同帮助开发者管理对象之间的数据结构(详见:《Spring框架汇总(理论篇——基础理论)》),因此常有人说AOP是OOP思想的一种扩充。

    Spring整合AspectJ框架,底层使用动态代理的方式帮助开发者简化了面向切面编程。Spring AOP是Spring框架的核心功能模块之一。

二、Spring AOP的应用场景

    与代理模式一样,Spring AOP基于OCP原则,在不改变原有功能代码的基础上扩展新的功能,并且实现业务代码解耦,提高代码的可重用性,以简化代码编写,提高开发效率。Spring AOP广泛应用于处理一些具有横切性质(贯穿于)的系统级服务,如系统日志处理,事务处理,安全验证,数据缓存等。例如登录和权限验证:

Spring框架汇总(Spring AOP——理论基础)_第1张图片

三、Spring AOP中术语解释

名称 作用
切面(Aspect) 横切面对象,一般为一个具体类对象,其中定义了一个或多个通知
通知(Advice) 在切面的某个特定连接点上执行的动作,即具体要执行扩展业务方法
切入点(Pointcut) 定义应该对于那些核心业务(原业务)进行扩展
连接点(Joinpoint) 被扩展业务修饰的原业务,即被切面和切点拦截到的具体方法
引入(Introduction) 引入允许我们向现有的类添加新方法或属性
织入(Weaving) 织入是把切面应用到目标对象并创建新代理对象的过程
    Spring AOP依赖于代理机制,在程序运行期间,可以动态地根据切面、通知及切点的定义,为目标对象织入新的扩展功能。

 



你可能感兴趣的:(框架)