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

Spring Boot 实现热插拔 AOP

现在有这么一个需求:就是我们日志的开与关是交给使用人员来控制的,而不是由我们开发人员固定写死的。大家都知道可以用aop来实现日志管理,但是如何动态的来实现日志管理呢?aop源码中的实现逻辑中有这么一个步骤,就是会依次扫描Advice的实现类,然后执行。我们要做的就是自定义一个advice的实现类然后,在用户想要开启日志的时候就把advice加到项目中来,关闭日志的时候就把advice剔除就行了。

  • Advice:

org.aopalliance.aop.Advice

“通知”,表示 Aspect 在特定的 Join point 采取的操作。包括 “around”, “before” and “after 等 Advice,大体上分为了三类:BeforeAdvice、MethodInterceptor、AfterAdvice

  • Advisor:

org.springframework.aop.Advisor

“通知者”,它持有 Advice,是 Spring AOP 的一个基础接口。它的子接口 PointcutAdvisor 是一个功能完善接口,它涵盖了绝大部分的 Advisor。

  • Advised:

org.springframework.aop.framework.Advised

AOP 代理工厂配置类接口。提供了操作和管理 Advice 和 Advisor 的能力。它的实现类 ProxyFactory 是 Spring AOP 主要用

http://www.lryc.cn/news/297859.html

相关文章:

  • 2月05日,每日信息差
  • 使用Python进行数据的描述性分析,用少量的描述性指标来概括大量的原始数据
  • 【JS逆向三】逆向某某网站的sign参数,并模拟生成仅供学习
  • 移动光猫gs3101超级密码及改桥接模式教程
  • leetcode 153
  • 【MySQL】数据库的基础——数据库的介绍、MySQL的介绍和架构、SQL分类、MySQL的基本使用、MySQL的存储引擎
  • 后端的技术设计文档
  • Windows10安装PCL1.14.0及点云配准
  • C语言第二十二弹---指针(六)
  • Qt Windows和Android使用MuPDF预览PDF文件
  • MongoDB聚合:$replaceWith
  • Vue 进阶系列丨实现简易VueRouter
  • unity editor 编辑器 GUID localID LocalFileId 查找问题
  • 【Mybatis】从0学习Mybatis(2)
  • ChatGPT高效提问—prompt常见用法(续篇九)
  • echarts的title标题属性
  • 【HTML+CSS】使用CSS中的Position与z-index轻松实现一个简单的自定义标题栏效果
  • 从零开始:用 Rust 编写你的第一个 Web 服务
  • 机器学习复习(8)——逻辑回归
  • 深入解析MySQL 8:事务数据字典的变革
  • jquery写表格,通过后端传值,并合并单元格
  • 百家cms代审
  • 算法学习——LeetCode力扣二叉树篇3
  • 强制卸载挂载目录
  • HiveSQL——sum(if()) 条件累加
  • Linux命令行工具使用HTTP代理的方法详解
  • idea mavn 中途新建gitignore文件如何生效
  • Hadoop:认识MapReduce
  • 9.4 OpenGL帧缓冲:纹理和帧缓冲之间的反馈循环
  • 相机图像质量研究(6)常见问题总结:光学结构对成像的影响--对焦距离