当前位置: 首页 > news >正文

Aop中的相关术语

口语化答案

哈哈,这个就不多说了,面试官问到什么概念,你就直接解释一下就可以了。

题目详细答案

切面(Aspect)

切面是 AOP 的核心概念之一,它是一个模块,它可以包含多个 advice(通知) pointcut(切入点)。切面可以看作是对某些功能(如日志记录、事务管理)的封装,advice(通知)代表了增强的功能(如日志记录、事务管理),切入点规定了这些功能会在特定的连接点上应用。

连接点(Join Point)

连接点是程序执行过程中可以插入切面的一个点。通常,连接点是方法的调用或执行。AOP 框架允许在这些连接点上插入额外的行为。

通知(Advice)

通知是在切面的某个特定的连接点上执行的动作。通知定义了切面在连接点上的具体行为。根据执行时间的不同,通知可以分为以下几种类型:

  • 前置通知(Before):在目标方法执行之前执行。
  • 后置通知(After):在目标方法执行之后执行(无论方法是否成功完成)。
  • 返回通知(After Returning):在目标方法成功返回之后执行。
  • 异常通知(After Throwing):在目标方法抛出异常时执行。
  • 环绕通知(Around):包围目标方法的执行,可以在方法执行之前和之后自定义行为。

切入点(Pointcut)

切入点是一个表达式,定义了哪些连接点会被切面所影响,可看做多个连接点的集合。切入点表达式用于匹配连接点,从而决定切面应该应用到哪些方法上。常见的切入点表达式语言包括 AspectJ 的表达式语言。

目标对象(Target Object)

目标对象是被一个或多个切面所通知的对象。目标对象是 AOP 代理的实际对象,即被代理的对象

AOP 代理(AOP Proxy)

AOP 代理是一个对象,用于实现切面契约(即通知方法)并将调用委托给目标对象。代理对象负责在调用目标方法之前或之后执行切面逻辑。AOP 代理可以是 JDK 动态代理(用于代理接口)或 CGLIB 代理(用于代理类)。

织入(Weaving)

织入是将切面应用到目标对象并创建 AOP 代理对象的过程。织入可以在以下几个时机进行:

  • 编译时(Compile-time Weaving):在编译阶段将切面织入到目标类中。
  • 类加载时(Load-time Weaving):在类加载阶段使用类加载器将切面织入到目标类中。
  • 运行时(Runtime Weaving):在运行时通过动态代理将切面织入到目标对象中。

引入(Introduction)

引入是 AOP 提供的一种机制,允许在不修改现有类的情况下向其添加新的方法或属性。引入可以用于增强现有类的功能。

http://www.dtcms.com/a/317915.html

相关文章:

  • Windows 操作系统 - Windows 修改颜色(界面元素颜色)
  • SpringBoot 整合Langchain4j 对接主流大模型实战详解
  • JAVA无人系统台球茶室棋牌室系统支持H5小程序APP公众号源码
  • 初识浏览器扩展,搭建你的“秘密基地”
  • 基于2025年《Science》期刊论文的科研图表Python绘制分析
  • CDP集群中通过Hive外部表迁移HBase数据的操作记录
  • 使用 Apache DolphinScheduler 构建和部署大数据平台,将任务提交至 AWS 的实践经验
  • 常用排序方法
  • Redis的分布式序列号生成器原理
  • Vue Vant使用
  • CEH、OSCP、CISP、CISSP 四大网络安全认证攻略
  • o2o 商城系统数据分析管理系统模块设计
  • ZYNQ实现FFT信号处理项目
  • Godot ------ 初级人物血条制作02
  • SpringCloud -- elasticsearch(二)
  • wordpress网站的“管理员邮箱地址”有什么用?
  • CVE-2021-30661、CVE-2021-30665、CVE-2021-30666
  • c++类常用默认成员函数细节分析
  • Godot ------ 初级人物血条制作01
  • linux-系统性能监控
  • 如何测试一个机器是大端还是小端
  • cocos Uncaught TypeError: Cannot read properties of null (reading ‘SetActive‘)
  • 达梦数据库日常运维命令
  • Node.js从入门到精通完整指南
  • 查看ubuntu server 的基本信息
  • 【DeepID】《Deep Learning Face Representation from Predicting 10,000 Classes》
  • 项目中使用的设计模式
  • GPT-OSS 与 Ollama 完整安装使用教程
  • 如何自动生成 API 接口文档 - 一份详细指南
  • 强强联合:OpenAI正式登陆AWS!