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

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.kler.cn/a/233830.html

相关文章:

  • 【CSS】“flex: 1“有什么用?
  • 蓝牙BLE开发——iOS 每次写入数据超过200字节报错?
  • JavaScript Cookie 与 服务器生成的 Cookie 的区别与应用
  • 给查询业务添加redis缓存和缓存更新策略
  • 详解kafka消息发送重试机制的案例
  • LabVIEW 实现 find_nearest_neighbors 功能(二维平面上的最近邻查找)
  • 【机器学习】Ubuntu系统下CUDA驱动卸载及重装
  • 上线GPT应用的流程
  • 【北邮鲁鹏老师计算机视觉课程笔记】03 edge 边缘检测
  • 深入浅出:Golang的Crypto/SHA256库实战指南
  • Linux第45步_通过搭建“DNS服务器”学习图形化配置工具
  • conda创建环境,查看环境,激活环境,查看包,复制环境,删除环境,查看cuda版本,查看pytorch版本
  • 蓝桥杯官网练习题(翻转)
  • ubuntu22.04@laptop OpenCV Get Started: 006_annotating_images
  • Nginx管理配置中多种变量学习
  • 梯度提升树系列7——深入理解GBDT的参数调优
  • 【漏洞复现】狮子鱼CMS某SQL注入漏洞01
  • redis双写一致
  • Deepin基本环境查看(八)【系统安全:房、车、查房、查车】
  • 2.9日学习打卡----初学RabbitMQ(四)
  • Unity报错Currently selected scripting backend (IL2CPP) is not installed
  • 【数据存储+多任务爬虫】
  • Jupyter的全面探索:从入门到高级应用
  • 数据结构——5.4 树、森林
  • 模运算的变换公式
  • QListWidget组件功能