记录关于springAOP的相关注解

目标:做接口验证,判断接口被调用的次数,本来是直接打算使用Redis去统计的,后来想想 这样写感觉太麻烦 每个方法都需要写,显然不符合我的风格,果断想起springAOP。直接切方法就完事了。

写本文章呢,主要用于自己巩固记忆,同时希望能帮到有需要的人。

话不多说,直接走你。

第一步:定义 一个注解  

第二步:给你定义的注解添加两个注解 :

@Target(ElementType.METHOD)  注解的作用目标 因为我的需要是作用于方法,所以在这边就是METHOD 同理还有

 

 


@Retention(RetentionPolicy.RUNTIME) 注解不仅被保存到class文件中,jvm加载class文件之后,仍然存在 这块我也不是很理解但是在网上看到有很多资料都是这样写的 先不管他 记住就完事了。

 

 这里需要定义一下 int类型的值 因为 次数嘛 之后就是你要在注解你写的参数。

第三步:定义一个类 该类的作用主要用户解析有咱们这个自定义注解的方法

定义一下@Aspect固定写法 这玩意的作用 就是 把当前类标识为一个切面供容器读取。

然后定义一个空方法 并且加上@Pointcut注解 这玩意就是我们的切入点。好了 接下来好好体会 我们要切谁???

肯定是方法啊,所以走你 @annotation 这玩意用于匹配当前执行方法持有指定注解的方法 也是固定写法记住。然后呢 你是不是需要 判断 持有啥样子的注解啊 所以 要把你的注解路径写在上面

 

 马赛克原因是别人的项目用到不好意思透露大家理解下。就是com.xx.xx.xx.Cont

第四步:接下来 我们要干啥? 体会一下。。。 当然是要拦截呀,判断谁有咱们注解 走你@Around() 这玩意就是拦截的。在写一个方法 给他加上@Around 并且给他说明 我们要拦截的是谁 拦截有我们注解的方法呗

接下来都是固定写法了。

 

 我都在图里加了注释。

原理就是用redis去判断是否存在,存在就+1 不存在就创建这没啥说的。

好了大功告成。

 

 


posted @   逝去的初夏c  阅读(233)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示