Spring基础:AOP概念和原理

Posted Lansonli

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring基础:AOP概念和原理相关的知识,希望对你有一定的参考价值。

文章目录

AOP概念和原理

一、AOP概念

二、AOP原理

三、AOP中的术语辨析

1、连接点 Joint point

2、切入点 Pointcut

3、通知 Advice

4、目标对象 Target

5、切面Aspect

6、织入 Weaving


AOP概念和原理

一、AOP概念

AOP切面编程一般可以帮助我们在不修改现有代码的情况下,对程序的功能进行拓展,往往用于实现日志处理,权限控制,性能检测,事务控制等

二、AOP原理

AOP实现的原理就是动态代理,在有接口的情况下,使用JDK动态代理,在没有接口的情况下使用cglib动态代理

 为Dao层所有的add方法添加一个性能记录功能

三、AOP中的术语辨析

1、连接点 Joint point

类里面那些可以被增强的方法,这些方法称之为连接点

表示在程序中明确定义的点,典型的包括方法调用,对类成员的访问以及异常处理程序块的执行等等,它自身还可以嵌套其它 joint point

2、切入点 Pointcut

实际被增强的方法,称之为切入点

表示一组 joint point,这些 joint point 或是通过逻辑关系组合起来,或是通过通配、正则表达式等方式集中起来,它定义了相应的 Advice 将要发生的地方

3、通知 Advice

实际增强的逻辑部分称为通知 (增加的功能)

Advice 定义了在 Pointcut 里面定义的程序点具体要做的操作,它通过 before、after 和 around 来区别是在每个 joint point 之前、之后还是代替执行的代码。

通知类型:

  • 前置通知
  • 后置通知
  • 环绕通知
  • 异常通知
  • 最终通知

4、目标对象 Target

被增强功能的对象(被代理的对象)

织入 Advice 的目标对象

5、切面Aspect

表现为功能相关的一些advice方法放在一起声明成的一个Java类

Aspect 声明类似于 Java 中的类声明,在 Aspect 中会包含着一些 Pointcut 以及相应的 Advice。

6、织入 Weaving

创建代理对象并实现功能增强的声明并运行过程

将 Aspect 和其他对象连接起来, 并创建 Adviced object 的过程


  • 📢博客主页:https://lansonli.blog.csdn.net
  • 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
  • 📢本文由 Lansonli 原创,首发于 CSDN博客🙉
  • 📢停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨

以上是关于Spring基础:AOP概念和原理的主要内容,如果未能解决你的问题,请参考以下文章

Spring AOP面向方面编程原理:AOP概念

Spring——AOP设计基本原理

Spring——AOP设计基本原理

《Spring设计思想》AOP设计基本原理

Spring 框架基础(04):AOP切面编程概念,几种实现方式演示

《Spring设计思想》AOP设计思想与原理(图文并茂)