其他分享
首页 > 其他分享> > spring aop八大核心概念的通俗简洁理解,一看就明白

spring aop八大核心概念的通俗简洁理解,一看就明白

作者:互联网

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


AOP简介

在了解aop之前首先要引入oop的概念
oop也就是我们熟知的面向对象程序设计(Object Oriented Programming),oop关注的是将功能划分为模块,比如我们熟悉的三层架构——表现层、业务层、持久层,然后针对模块进行进一步的开发。
在这里插入图片描述
而aop更加侧重于“抽取”的思想。抽取一些高频重用的代码块等,有一种“切开”的意思
在这里插入图片描述
使用aop的优势很多——代码可重用性高,编码更简洁、代码维护更高效、业务扩展更便捷等
在这里插入图片描述

AOP入门

核心概念

在这里插入图片描述

1、连接点

AOP将所有的方法都视为连接点,不管是接口里面的抽象方法,还是实现类里面的重写方法,都是连接点

2、切入点

AOP将可能被抽取共性功能的方法称为切入点。切入点是连接点的子集

3、通知

AOP将抽取出来的共性功能称为通知。
通知类型:以通知在上下文中的具体位置作为划分。

4、切面

ASP将切入点和通知(也就是被抽取的方法,和抽取出来的共性功能)称为切面,切面描述了两者之间的关系。比如说,通知在切入点的上下文关系如何,这样才能保证将通知拼接回切入点之后能让程序正常运行
在这里插入图片描述

5、目标对象

在把切入点的通知抽取完成之后剩下的部分(就像是残缺的方法),而一个方法必须要作为一个类的一部分参与整个项目,而这个类的调用需要一个实例化对象,这个对象就是所谓的目标对象

6、织入

目标对象单打独斗是绝对不能运行的,我们需要将之前从切入点抽取的通知按照切面规定的关系还原回去,这样才是具有完整运行能力的方法。这个还原回去的过程,AOP称为织入

7、代理

织入完成后,我们又重新获得了一个完整的方法;类似的,这个方法也要作为一个类的一部分参与项目的构建,而这个类是通过“5、目标对象”所在的类,变化过来的。这个变换的过程,称为代理。

8、 引入

通过代理我们得到了一个新的类,这个类具有目标对象所在类的一切属性、方法。同时,这个新的类,可以像打补丁一样,自己重新定义一些属性和方法(可以在不修改原有代码的基础上完成新增功能,这是非常重要的应用)

总结

在这里插入图片描述
在实际开发中,只需要我们编写切入点(从哪里抽取?抽取的对象是哪个方法?)、切面(抽取的代码的上下文关系如何?)、通知(抽取的共性功能是什么?)三大功能即可。
在这里插入图片描述

标签:抽取,spring,切入点,aop,通知,AOP,通俗,方法,切面
来源: https://blog.csdn.net/Hubuers/article/details/122799311