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 主要用

相关推荐

  1. Spring Boot 实现 AOP

    2024-02-11 13:50:02       29 阅读
  2. JZ2440笔记:驱动

    2024-02-11 13:50:02       9 阅读
  3. 【PCIe硬件】PCIe引脚PRSNT与

    2024-02-11 13:50:02       21 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-11 13:50:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-11 13:50:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-11 13:50:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-11 13:50:02       20 阅读

热门阅读

  1. CISC3025 自然语言处理

    2024-02-11 13:50:02       32 阅读
  2. K 近邻算法

    2024-02-11 13:50:02       32 阅读
  3. RK3568笔记十三:Zlmedia推流测试

    2024-02-11 13:50:02       33 阅读
  4. 决策树与随机森林算法

    2024-02-11 13:50:02       36 阅读
  5. List stream的9种常用功能

    2024-02-11 13:50:02       27 阅读
  6. Lua Global环境

    2024-02-11 13:50:02       30 阅读
  7. vue3 可视化大屏自适应屏幕组件

    2024-02-11 13:50:02       29 阅读