首页 > 数据库 >RedisLock的AOP实现

RedisLock的AOP实现

时间:2024-01-18 13:46:48浏览次数:33  
标签:调用 Around 实现 Pointcut RedisLock AOP 注解 方法

AOP的使用:

1.标注@Aspect,说明此类是切面类。

可以先用@Pointcut定义一个表达式。然后在@Around中引用这个@Pointcut的方法。

更常见的是直接在Around里面定义。

@Around("@annotation(注解的位置)")

@anootation:注解带有xxx的。

@args:参数带有xxx的。

@within/@target:标识生效的具体类型,多个参数&&起来。

 

AnnotationUtils.findAnnotation : 从方法中获取注解,查询是否有我们自定义注解。
如果为空,返回执行被调用方法。如果不为空判断是否上锁。
通过stringRedisTemplate.opsForValue().setIfAbsent 进行判断,这个方法仅在为空的时候设置,如果为true则设置成功,执行调用的方法,执行完毕后删除redis锁。如果不成功
这说明已经存在,无法再次调用 这里用了finally,不管方法执行结果如何,最终是一定要保证删除key

标签:调用,Around,实现,Pointcut,RedisLock,AOP,注解,方法
From: https://www.cnblogs.com/dwj-ngu/p/17972298

相关文章

  • 《要事第一》:构建“相互依赖”,实现合作共赢
    被誉为“美国历史进程25位影响力人物”之一的思想巨匠——史蒂芬·柯维,在《要是第一》一书中谈到,相互依赖本质上决定了生活质量,每个人都要建立相互依赖。上文提到的林风就需要重新建立自己的相互依赖。 01万物互联,人与人之间的相互依赖是什么?著名的印度思想家圣雄甘地说:同......
  • 师爷,翻译翻译什么叫AOP
    张麻子:汤师爷,翻译翻译,什么叫AOP?汤师爷:这还用翻译。张麻子:我让你翻译给我听,什么叫AOP?汤师爷:不用翻译,切面编程就是AOP啊。黄四郎:难道你听不懂什么叫AOP?张麻子:我就想让你翻译翻译,什么叫AOP!汤师爷:AOP嘛。张麻子:翻译出来给我听,什么他妈的叫AOP!什么他妈的叫他妈的AOP!汤师爷:什么......
  • 企业如何实现数字化?有哪些好处(下)
    过时的技术、流程及顾客关系管理困难是阻拦企业提高的主要障碍。CRM系统是企业数字化转型的重要工具,协助企业简化经营,提高效率,为用户提供更不凡的客户体验。以下是企业数字化转型的十大益处(下)。如提升竞争力、安全性、可持续发展、数据驱动决策等等。5、提升竞争力获得竞争优......
  • 企业实现数字化转型有哪些好处?(上)
    滞后的技术正在成为阻碍企业快速发展的重要因素。CRM管理系统能够协助企业改善经营策略,提高销售赢单效率,并为用户提供良好的服务体验。以下是使用CRM企业数字化转型的十大好处。包括提高效率、改善客户体验、提高响应能力、加强协作和交流等等。放眼全球来看,采用和实施数字化转......
  • Golang中的工厂模式:灵活选择存储方式实现文件存储
    Golang中的工厂模式:灵活选择存储方式实现文件存储原创 沙蒿 程序员的碎碎念 2024-01-0508:20 发表于广东 听全文 引言在现代软件开发中,文件存储是一个常见的需求,而选择合适的存储方式对于系统的可扩展性和性能至关重要。本文将介绍如何使用工厂模式在Golang中实......
  • 基于uniapp开发的APP,怎么实现自动升级
    最近使用uniapp框架开发了一款APP,怎么让APP监测到有新的版本,并且点击新的版本实现自动升级呢,话不多说,请看下文。封装一个弹窗组件,当监测到最新的APP版本高于现在的版本时,弹窗提示新的版本信息,包括版本号、版本更新内容、是否强制更新控制等。一、src/components/updateModal/ind......
  • 实现基于内容的电影推荐系统—代码实现
    引言昨日在读论文的过程中讲到,要实现一种基于内容的推荐算法,那么今天他来了。今天的算法实现基于Python的pandas数据处理第三方包和机器学习第三方包sklearn,关于sklearn的详细信息可以点击这里查看,关于pandas的详细信息可以点击这里查看代码实现importpandasaspd#导入数......
  • Maven使用${revision}实现多模块版本统一管理
    父pom: <?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://mave......
  • 某知名电车品牌:规范内外部文件交换行为 实现网间数据安全交换
    一、客户介绍某知名合资电车品牌,成立于2020年,是由两大全球知名汽车厂商出资成立的合资公司。该公司致力于推动、普及电动车更环保、安全、舒适、智能的高品质技术,开发和制造受中国消费者喜爱的性能优异的纯电动车,创造消费者为中心的未来出行、人与自然和谐共享的社会。二、建设......
  • 利用JVS低代码引擎实现列表页和表单按钮的显隐控制
    在开发中,控制页面的元素(如按钮)的可见性是很常见的需求。特别是在需要根据特定字段的值来隐藏或显示某些元素时,例如在列表页和表单中。这样的需求在许多应用程序中都有出现,无论是电子商务平台、管理系统还是其他类型的软件。本文将深入探讨JVS低代码列表引擎中如何根据字段的值来控......