AOP面向切面编程相关核心概念
2021/7/31 17:07:38
本文主要是介绍AOP面向切面编程相关核心概念,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
- 横切,通知,连接点,切入点,切面
-横切 关注点
-
对那些方法进行拦截,拦截后怎么处理,这些就叫横切关注点
-
比如 权限认证,日志,事务
-
通知 Advice
- 在特定的切点上执行的增强处理,有5种通知,后续介绍
- 比如需要记录日志,控制事务,提前编写好通用模块,需要的地方直接调用
-
连接点JoinPoint
- 要用通知的地方,业务流程在运行过程中需要插入切面的具体位置
- 一般是方法调用前后,全部方法都可以是连接点
-
切入点 PointCut
- 不能全部方法都是连接点,通过特定的规则来筛选连接点,就是PointCut,选中你想要的方法
- 在程序中主要体现为书写切入点表达式(通过通配,在正则表达式)过滤出特定的一组JointPoint连接点
- 过滤出相应的Advice 将要发生的joinpoint地方
-
切面 Aspect
- 通常是一个类,里面定义 切入点+通知,定义在什么地方,什么时间点,做什么事情
- 通知Advice指明了时间和做的事情(前置,后置等)
- 切入点pointCut指定在什么地方干这个事情
- web接口设计中,web层->网关层->服务层->数据层,每一层之间也是一个切面,对象和对象,方法和方法之间都是一个个切面
-
目标target
- 目标类,真正的业务逻辑,可以在目标类不知情的条件下,增加新的功能到目标类的链路上
-
织入Weaving
- 把切面(某个类)应用到目标函数的过程成为织入
-
AOP代理
- AOP框架创建的对象,代理就是目标对象的加强
- Spring中的AOP代理可以使用JDK动态代理,也可以是CGLIB代理
这篇关于AOP面向切面编程相关核心概念的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-01为什么公共事业机构会偏爱 TiDB :TiDB 数据库在某省妇幼健康管理系统的应用
- 2024-04-26敏捷开发:想要快速交付就必须舍弃产品质量?
- 2024-04-26静态代码分析的这些好处,我竟然都不知道?
- 2024-04-26你在测试金字塔的哪一层?(下)
- 2024-04-26快刀斩乱麻,DevOps让代码评审也自动起来
- 2024-04-262024年最好用的10款ER图神器!
- 2024-04-2203-为啥大模型LLM还没能完全替代你?
- 2024-04-2101-大语言模型发展
- 2024-04-17基于SpringWeb MultipartFile文件上传、下载功能
- 2024-04-14个人开发者,Spring Boot 项目如何部署