今天拿 SpringAOP 和自定义注解的通用性开🔪
🍁 作者:知识浅谈,CSDN 签约讲师,CSDN 原力作者,后端领域优质创作者,热爱分享创作
💒 公众号:知识浅谈
📌 擅长领域:全栈工程师、爬虫、ACM 算法
🔥 联系方式 vx:zsqtcc
正菜来了🛴🛴🛴
🎈启发
SpringAOP 可以帮助我们 Java 在不修改源代码的前提下实现功能增强,其底层实现基于 Java 动态代理或者 cglib。由于 Spring 的声明式事务注解 @Transactional 的启发,我们在项目中利用自定义的注解实现大量共性的需求。
🎈应用场景
需要灵活使用共性需求的地方都可以使用该方案
收集上报指定==关键方法==的入参,执行时间,返回结果等关键信息,用作后期的调优。
==关键方法==在幂等性的前置校验(基于本地消息表)
类似于 Spring-Retry 模块,提供关键方法多次调用重试机制
提供==关键方法==自定义的快速熔断,服务降级等职责
==关键方法==在执行后的扩展行为,利如记录日志,启动其他任务等。
🎈开发过程
引入依赖📃
复制代码
自定义注解📃
新建 Spring Boot2.x 工程,在 pom.xml 中增加 aspectjweaver 依赖
复制代码
自定义切面📃
复制代码
测试切面📃
复制代码
版权声明: 本文为 InfoQ 作者【知识浅谈】的原创文章。
原文链接:【http://xie.infoq.cn/article/d49211c117e0d73e624e5a9df】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论